2012-04-09 110 views
5

到目前为止,我的所有应用程序都只记录到文件。它适用于我,我从来没有任何问题。何时登录到Windows事件日志?

我的一位朋友建议我也可以使用Windows事件日志,但我不确定这一点。我总是有这样的想法,事件日志只是用于一些非常重要的信息,如果可以避免的话,我不应该写入它。

什么时候可以/我应该写入窗口事件日志?

回答

4

首先,除了三种默认值(系统,应用程序,安全性)外,您还可以注册自己的事件日志,从而将消息与其他消息分开。这是经常被忽视的可能性之一。

一般来说,我会总是建议在您的二进制文件中使用消息表和任何家庭冲泡方法的事件日志设施。原因很简单:

  1. 您可以登录到远程机器容易,如果需要的话(或者当地的一个)
  2. 你可以阅读从远程计算机的事件日志(例如,管理员可以列出内部事件日志他任何客户机上域)
  3. 消息表节省空间
  4. 信息表以方便本地化
+0

有一点额外的信息在这里,搜索“消息表”页面: http://oreilly.com/catalog/winlog/chapter/ch02.html – 2014-06-02 04:00:01

5

在我看来,对于是否要登录到Windows事件日志的决定,取决于你的应用,以及运行你的软件的人。

登录到事件日志绝对没有缺点,任何使用日志监控解决方案的人都会感激您的努力。

一般来说,您应该避免将“调试”类型的消息记录到事件日志中,或者在短时间内产生大量消息的任何内容。但是任何对管理软件的人员有用的信息都可以(也应该)记录到事件日志中。

STATUS_ACCESS_DENI还提到了本地化,这是一个比传统日志记录更重要的优势。

你会登录之类的东西:

  • 错误和需要干预
  • 重要地位报告警告(软件启动,停止,更新自身,等)

您可能希望看看这篇博客文章,概述了如何创建自己的消息dll,登录Windows事件日志时的首选方式:

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

有一点可能要记住,就是设计日志记录,以便它不会在短时间内污染事件日志并发现重复事件。例如,在某些情况下,Microsoft SQL Server将在数秒内从字面上记录数千个相同的事件。这可能令系统管理员感到沮丧。大多数日志监控解决方案都可以解决这个问题,但它仍然很烦人。底线:是的,您应该考虑记录到事件日志。