Windows win32应用程序日志上的新手问题

Windows win32应用程序日志上的新手问题,windows,visual-studio,winapi,win32-process,Windows,Visual Studio,Winapi,Win32 Process,我是Visual Studio Win32(C++)应用程序的新手 在我工作的java中,例如使用log4j,日志记录很容易。 如何在Win32应用程序中进行日志记录? 我见过一些使用宏写入文件的代码。 我是否负责创建一些日志机制? 是否有标准的方式登录win32 感谢使用事件日志API写入Windows事件日志 使用事件日志API写入Windows事件日志 另一种方法是使用log4net,因为您有过log4j的经验,有很多类似的方法 另一种方法是使用log4net,因为您有log4j的经验,有

我是Visual Studio Win32(C++)应用程序的新手
在我工作的java中,例如使用log4j,日志记录很容易。
如何在Win32应用程序中进行日志记录?
我见过一些使用宏写入文件的代码。
我是否负责创建一些日志机制?
是否有标准的方式登录win32


感谢使用事件日志API写入Windows事件日志
使用事件日志API写入Windows事件日志

另一种方法是使用log4net,因为您有过log4j的经验,有很多类似的方法

另一种方法是使用log4net,因为您有log4j的经验,有很多类似的方法

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

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

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

  • 如果您正在编写需要IT支持部门支持的服务或“系统”类型的任务,则Windows事件日志API是最佳选择。Windows支持工具支持远程访问系统事件日志以创建系统运行状况警报等
除此之外,Windows没有方便的日志API。因此,如果系统事件日志不合适,您需要自己滚动

  • 出于开发人员/调试目的,OutputDebuggerString将向调试器的“输出”窗口发送文本

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

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


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

  • 如果您正在编写需要IT支持部门支持的服务或“系统”类型的任务,则Windows事件日志API是最佳选择。Windows支持工具支持远程访问系统事件日志以创建系统运行状况警报等
除此之外,Windows没有方便的日志API。因此,如果系统事件日志不合适,您需要自己滚动

  • 出于开发人员/调试目的,OutputDebuggerString将向调试器的“输出”窗口发送文本

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

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


这种方法比写入属于应用程序的文件好吗?我的意思是,这是Win32应用程序中常用的方法吗?这种方法比写入属于应用程序的文件好吗?我的意思是,这是Win32应用程序中常用的方法吗?我问,因为我不知道。Win32 project应用程序可以使用它,对吗?我问是因为我不知道这个。它可以被Win32 project应用程序使用,对吗?对,我是对的。如张贴的,Log4Cxx帮助您将日志添加到C++应用程序。如张贴的,Log4Cxx帮助您将日志添加到C++应用程序。我需要编写的应用程序必须在后台做特定的操作,并且通过消息框与用户进行最小的交互(例如安装了X应用程序。您是否要继续?等等)。因此,我没有实际的GUI来显示,也没有控制台来输出。我目前正在使用的代码是使用一些宏将信息输出到文件中。但该代码不适用,因为它是从其他已经使用它的应用程序(即,它已测试)复制粘贴的。问题是,它有很多我不需要的东西,我不喜欢宏。那么,您提到的log4c适合我吗?wrt log4c适合吗:这取决于所使用的跟踪宏。如果它们是定制的,你需要自己编写包装。如果它们是Log4x“兼容”的,那么集成log4c似乎是一条可行之路。我需要编写的应用程序必须在后台执行特定的操作,并且通过消息框与用户的交互最少(例如,安装了X应用程序是否要继续?等等)。因此,我没有实际的GUI来显示,也没有控制台来输出。我目前正在使用的代码是使用一些宏将信息输出到文件中。但该代码不适用,因为它是从其他已经使用它的应用程序(即,它已测试)复制粘贴的。问题是,它有很多我不需要的东西,我不喜欢宏。那么,您提到的log4c适合我吗?wrt log4c适合吗:这取决于所使用的跟踪宏。如果它们是定制的,你需要自己编写包装。如果它们是Log4x“兼容”的,那么集成log4c似乎是一条出路。