log4net vs MS日志应用程序块

log4net vs MS日志应用程序块,log4net,enterprise-library,application-blocks,Log4net,Enterprise Library,Application Blocks,我试图了解使用log4netor企业库日志应用程序块(LAB)登录应用程序的优缺点。我知道LAB比log4net更难使用。我用过log4net,但我不太喜欢它。它无疑给人一种从另一种语言翻译过来的API的感觉。不过,这已经有几年了,所以从那时起,它很可能会得到改进 我更喜欢实验室的配置,但是当实验室不工作时,几乎不可能找出原因。这是最令人恼火的事。。。它可以完美地工作,然后似乎突然停止没有明显的原因。我已经放弃了它(我使用的上一个版本是4.1),直到他们想出如何使它易于调试 我想说,如果您正在使

我试图了解使用log4netor企业库日志应用程序块(LAB)登录应用程序的优缺点。我知道LAB比log4net更难使用。

我用过log4net,但我不太喜欢它。它无疑给人一种从另一种语言翻译过来的API的感觉。不过,这已经有几年了,所以从那时起,它很可能会得到改进

我更喜欢实验室的配置,但是当实验室不工作时,几乎不可能找出原因。这是最令人恼火的事。。。它可以完美地工作,然后似乎突然停止没有明显的原因。我已经放弃了它(我使用的上一个版本是4.1),直到他们想出如何使它易于调试

我想说,如果您正在使用其他应用程序块,请坚持使用LAB。但在花了一周时间试图调试失败日志后,请准备放弃它。如果您没有使用其他块,请使用Log4Net


此外,如果您正在编写web应用程序,请查看。它更像是一个错误报告模块,但您可以通过手动引发事件将其用于基本日志记录

我使用Log4Net。它已经与我使用的其他各种库(NHibernate)集成在一起,所以它很有意义

如果你想了解更多,我有一个Log4Net的介绍。


此外,正如威尔所说的实验室,它可能很难配置(通过xml配置文件完成),但Log4net非常稳定。此外,您可以配置Log4Net来执行几乎任何您想要的操作(文本文件、滚动文本文件、记录到数据库、事件查看器等)

我在记录“停止”时也遇到过类似的问题,并且它总是与试图写入文件时锁定文件有关。我们能否在一段时间内限制针对相同类型错误发送的电子邮件数量。例如,代码中存在一些异常,该异常正在发送电子邮件,我应该在一小时内每次发生该异常时只收到一封电子邮件(可配置),但如果您正在登录到数据库呢?没有文件锁定导致该操作失败。它令人愤怒;它们不会将任何内容写入事件日志以帮助您调试失败。