问题描述
|
我是Visual Studio Win32(C ++)应用程序中的新手
在我工作的Java中,使用log4j进行记录很容易。
如何在Win32应用程序中完成日志记录?
我已经看到一些使用宏写入文件的代码。
我有责任创建一些日志记录机制吗?
有没有登录win32的标准方法?
谢谢
解决方法
使用事件日志API写入Windows事件日志
http://msdn.microsoft.com/zh-CN/library/aa385772(v=vs.85).aspx
, 另一种方法是使用log4net,因为您有过log4j的经验,它们非常相似。
, “ Windows应用程序”没有任何意义,Java应用程序也可以在Windows上运行。将log4net添加到.NET应用程序中。 Log4cxx针对使用C ++编写的应用程序执行此操作。与log4j完全相同。该项目的主页在这里。
, 这取决于谁将使用您的软件的日志记录工具:
如果您正在编写需要IT支持部门支持的服务或“系统”类型的任务,则Windows Event Log API是最佳选择。 Windows的支持工具支持对系统事件日志的远程访问,以创建系统运行状况警报等。
除此之外,Windows没有便捷的Logging API。因此,如果系统事件日志不合适,则需要自己动手做。
对于开发人员/调试而言,有OutputDebugString,它将向调试器的“ Output”窗口发出文本。
编写GUI应用程序时很方便,可以使调试生成控制台应用程序,这样,除了GUI之外,还显示一个控制台窗口。 printf()可以向控制台显示消息。
否则,我在Windows上构建的某些OSS项目确实包含已移植到Windows的log4c变体。因此,如果您确实需要log4c,可以将其强制在Windows上运行。