我想知道记录信息消息的“正确”方式是什么;到文件,还是到事件查看器中的特殊日志?
我喜欢记录文件,因为我可以使用滚动平面文件监听器并查看每天的新日志,而且在事件查看器中我一次只能看到一条消息 - 在文件中我可以扫描一整天很容易。我的同事认为文件只会占用空间,他喜欢将警告、错误和信息消息全部放在一个地方。你怎么认为?有首选方法吗?如果是,为什么?
此外,这些方法中是否存在任何并发问题?我读过 entlib 是线程安全的,如果监听器不是线程安全的,则会在后面生成 Monitor.Enter,但我想确定(我们只是使用 Logger.Write)。我们正在使用 entlib 3.1。
提前谢谢你。
最佳答案
这是我在记录消息时使用的经验法则。
EventLog(如果您当然有权访问) - 我们总是记录未处理的异常 - 在大多数情况下,我们记录错误或 fatal error - 在某些情况下,我们会记录警告 - 在极少数情况下,我们会记录信息 - 我们永远不会记录无用的一般消息,例如:“我在这里,废话,废话,废话”
日志文件 - 一般规则,我们记录所有内容,但可以选择级别类型或过滤器来降低记录的消息量
EventLog 始终是一个不错的选择,因为它绑定(bind)到 WMI。这样,Open View 等产品就可以在出现问题时监控并提醒操作人员。但是,请将消息保持在最低限度,因为它很慢,它的大小在每个 messaeg 的基础上受到限制,而且它是条目限制,因为您可以很容易地很快填满 EventLog,并且您的应用程序必须处理可怕的“EventLog 已满”异常: )
希望这有助于...
关于c# - 记录到文件或事件查看器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3596777/