到目前为止,我所有的应用程序都只记录到文件中。它对我来说很好用,我从来没有遇到过任何问题。
我的一个朋友建议我也可以使用 Windows 事件日志,但我不确定。我一直认为事件日志仅用于一些非常重要的消息,如果可以避免,我不应该写入它。
我什么时候可以/应该写入窗口事件日志?
在我看来,是否记录到 Windows 事件日志的决定取决于您的应用程序以及运行您的软件的人员。
记录到事件日志绝对没有缺点,任何使用日志监控解决方案的人都会感谢您的努力。
一般来说,您绝对应该避免将“调试”类型的消息记录到事件日志中,或者在短时间内产生大量消息的任何内容。但是,对管理您的软件的人有用的任何信息都可以(并且应该)记录到事件日志中。
STATUS_ACCESS_DENI 还提到了本地化,这是相对于传统日志记录的重要优势。
您将记录以下内容:
您可能需要查看这篇博客文章,该文章概述了如何创建自己的消息 dll,这是登录到 Windows 事件日志时的首选方式:
http://www.eventlogblog.com/blog/2010/11/creating-your-very-own-event-m.html
可能要记住的一件事是设计您的日志记录,以便它不会在短时间内用重复事件污染事件日志。例如,Microsoft SQL Server 在某些情况下会在几秒钟内真正记录数千个相同的事件。这对于系统管理员来说可能是令人沮丧的。大多数日志监控解决方案都可以解决这个问题,但这仍然很烦人。
底线:是的,您应该考虑记录到事件日志。
首先,除了三个默认值(系统、应用程序、安全性)之外,您还可以注册自己的事件日志,从而将您的消息与其他消息分开。这是经常被忽视的可能性之一。
一般来说,我总是建议在你的二进制文件和事件日志工具中使用消息表,而不是任何自制方法。原因很简单: