【发布时间】:2011-05-30 20:59:41
【问题描述】:
我是 Visual Studio Win32 (C++) 应用程序的新手
在我工作的 java 中,使用 log4j 进行日志记录很容易。
在 Win32 应用程序中如何进行日志记录?
我见过一些使用宏写入文件的代码。
我是否负责创建一些日志记录机制?
有没有标准的方式登录win32?
谢谢
【问题讨论】:
标签: windows visual-studio winapi win32-process
我是 Visual Studio Win32 (C++) 应用程序的新手
在我工作的 java 中,使用 log4j 进行日志记录很容易。
在 Win32 应用程序中如何进行日志记录?
我见过一些使用宏写入文件的代码。
我是否负责创建一些日志记录机制?
有没有标准的方式登录win32?
谢谢
【问题讨论】:
标签: windows visual-studio winapi win32-process
使用事件日志 API 写入 Windows 事件日志 http://msdn.microsoft.com/en-us/library/aa385772(v=vs.85).aspx
【讨论】:
另一种方法是使用 log4net,因为你有 log4j 的经验,有非常相似的。
【讨论】:
“Windows 应用程序”并不意味着什么,Java 应用程序也可以在 Windows 上运行。有 log4net 可以将日志记录添加到 .NET 应用程序。 Log4cxx 为用 C++ 编写的应用程序这样做。与 log4j 完全相同的方法。项目主页is here.
【讨论】:
这取决于谁将使用您的软件的日志记录工具:
除此之外,Windows 没有方便的 Logging API。因此,如果系统事件日志不合适,您需要自行滚动。
对于开发人员/调试目的,OutputDebugString 将向调试器的“输出”窗口发出文本。
在编写GUI应用程序时,方便调试构建一个控制台应用程序,以便在GUI之外显示一个控制台窗口。 printf() 可以向控制台显示消息。
否则,我在 windows 上构建的一些 OSS 项目确实包含已移植到 windows 的 log4c 变体。因此,如果您确实需要 log4c,可以强制它在 Windows 上工作。
【讨论】: