0

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

4

4 回答 4

1

这取决于谁将使用您的软件的日志记录工具:

  • 如果您正在编写需要 IT 支持部门支持的服务或“系统”类型的任务,Windows 事件日志 API 是最佳选择。Windows 支持工具支持远程访问系统事件日志以创建系统健康警报等。

除此之外,Windows 没有方便的 Logging API。因此,如果系统事件日志不合适,您需要自行滚动。

  • 对于开发人员/调试目的,OutputDebugString 将向您的调试器“输出”窗口发出文本。

  • 在编写 GUI 应用程序时,可以方便地使调试构建一个控制台应用程序,以便在 GUI 之外显示一个控制台窗口。printf() 可以向控制台显示消息。

  • 否则,我在 windows 上构建的一些 OSS 项目确实包含已移植到 windows 的 log4c 变体。因此,如果您确实需要 log4c,可以强制它在 Windows 上工作。

于 2011-05-31T12:16:23.860 回答
1

使用事件日志 API 写入 Windows 事件日志 http://msdn.microsoft.com/en-us/library/aa385772(v=vs.85).aspx

于 2011-05-30T21:01:42.277 回答
1

另一种方法是使用 log4net,因为您有 log4j 的经验,它们非常相似。

于 2011-05-30T21:12:51.153 回答
1

“Windows 应用程序”并不意味着什么,Java 应用程序也可以在 Windows 上运行。有 log4net 可以将日志记录添加到 .NET 应用程序。Log4cxx 为用 C++ 编写的应用程序这样做。与 log4j 完全相同的方法。该项目的主页在这里

于 2011-05-30T21:16:24.303 回答