win32应用程序日志的新手问题
我是 Visual Studio Win32 (C++) 应用程序的新手
在我工作的 java 中,例如使用 log4j 进行日志记录很容易。
Win32 应用程序中的日志记录是如何完成的?
我见过一些使用宏写入文件的代码。
我有责任创建一些日志记录机制吗?
有没有标准的win32登录方式?
谢谢
I am new in in Visual Studio Win32 (C++) Applications
In java where I work, logging is easy using log4j for instance.
How is the logging done in a Win32 app?
I have seen some code using macros to write to files.
Am I responsible to create some logging mechanism?
Is there a standard way to log in win32?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用事件日志 API 写入 Windows 事件日志
http://msdn.microsoft.com/en-我们/library/aa385772(v=vs.85).aspx
Use the Event Log API to write to Windows Event Log
http://msdn.microsoft.com/en-us/library/aa385772(v=vs.85).aspx
另一种方法是使用 log4net,因为您有 log4j 的经验,两者非常相似。
Another way is using log4net since you have experience of log4j, there are very similar.
“Windows应用程序”没有什么意义,Java应用程序也可以在Windows上运行。 log4net 可以向 .NET 应用程序添加日志记录。 Log4cxx 为用 C++ 编写的应用程序执行此操作。与 log4j 完全相同的方法。该项目的主页在这里。
"Windows application" doesn't mean much of anything, Java apps can also run on Windows. There's log4net to adding logging to a .NET application. Log4cxx to do so for an app written in C++. Exact same approach as log4j. The project's home page is here.
这取决于谁将使用您软件的日志记录工具:
除此之外,Windows 没有方便的日志记录 API。因此,如果系统事件日志不合适,您需要自行推出。
对于开发人员/调试目的,OutputDebugString 会将文本发送到调试器的“输出”窗口。
在编写 GUI 应用程序时,将调试构建为控制台应用程序很方便,以便除了 GUI 之外还显示控制台窗口。 printf() 可以向控制台显示消息。
另外,我在 Windows 上构建的一些 OSS 项目确实包含已移植到 Windows 的 log4c 变体。因此,如果您确实需要,可以强制 log4c 在 Windows 上工作。
It depends on who is going to be using your software's logging facility:
Other than that, Windows does not have a convenient Logging API. So you need to roll-your own if the system event log is inappropriate.
For developers / debugging purposes theres OutputDebugString that will emit text to your debuggers "Output" window.
It is convenient when writing GUI apps, to make the debug build a console application, so that a console window is displayed in addition to the GUI. printf() can display messages to the console.
Otherwise, some OSS projects I built on windows did include a variant of log4c that had been ported to windows. So log4c can be coerced into working on windows if you really need it.