关于win32应用程序日志的新手问题

时间:2011-05-30 20:59:42

标签: windows visual-studio winapi win32-process

我是Visual Studio Win32(C ++)应用程序的新手 在我工作的java中,例如使用log4j很容易记录日志 如何在Win32应用程序中完成日志记录? 我看到一些使用宏写入文件的代码 我有责任创建一些记录机制吗? 有登录win32的标准方法吗?

由于

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

“Windows应用程序”并不意味着什么,Java应用程序也可以在Windows上运行。有一个log4net来向.NET应用程序添加日志记录。 Log4cxx用于为用C ++编写的应用程序执行此操作。与log4j完全相同的方法。该项目的主页is here

答案 3 :(得分:1)

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

  • 如果您正在编写需要IT支持部门支持的服务或“系统”类型任务,则最好使用Windows事件日志API。 Windows支持工具支持远程访问系统事件日志以创建系统运行状况警报等。

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

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

  • 编写GUI应用程序时,使调试构建成为控制台应用程序非常方便,因此除了GUI之外还会显示控制台窗口。 printf()可以向控制台显示消息。

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