何时登录Windows事件日志?

6

到目前为止,我所有的应用程序都只记录在文件中。这对我来说很有效,我从未遇到过任何问题。

我的一个朋友建议我也可以使用Windows事件日志,但我不太确定。我一直认为事件日志仅用于一些非常重要的消息,如果可以避免,则不应写入其中。

什么时候/应该写入Windows事件日志?

2个回答

5
在我看来,决定是否记录到Windows事件日志取决于您的应用程序以及运行软件的人员。记录到事件日志绝对没有任何缺点,任何使用日志监控解决方案的人都会欣赏您的努力。一般来说,您应该绝对避免将“调试”类型的消息或在短时间内产生大量消息的任何内容记录到事件日志中。但是,对于任何对管理您的软件有用的信息,都可以(而且应该)记录到事件日志中。STATUS_ACCESS_DENI还提到了本地化,这是传统日志记录的重要优势。您可以记录以下内容:需要干预的错误和警告、重要的状态报告(软件启动、停止、更新等)。您可能需要查看这篇博客文章,其中概述了如何创建自己的消息dll,这是记录到Windows事件日志时的首选方式:

http://www.eventlogblog.com/blog/2010/11/creating-your-very-own-event-m.html

需要记住的一件事是,设计日志记录时要避免在短时间内向事件日志中添加重复事件。例如,Microsoft SQL Server在某些情况下会在几秒钟内记录数千个相同的事件。这可能会让系统管理员感到沮丧。大多数日志监控解决方案可以解决这个问题,但仍然很烦人。

底线:是的,您应该考虑记录到事件日志。


4
首先,除了三个默认的事件日志(系统、应用程序、安全性)外,您可以注册自己的事件日志,从而将消息与其他内容分开。这是经常被忽视的可能性之一。
总的来说,我始终建议在您的二进制文件中使用消息表和事件日志设施,而不是任何自制方法。原因很简单:
  1. 如果需要(或本地机器),您可以轻松地记录到远程计算机上
  2. 您可以从远程计算机读取事件日志(例如,管理员可以在任何客户机上列出其域内的事件日志)
  3. 消息表节省空间
  4. 消息表允许轻松本地化

这里有一些额外的信息,请在页面中搜索“message table”: http://oreilly.com/catalog/winlog/chapter/ch02.html - Doug L.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接