有人有这两方面的经验吗?它们之间有什么不同?
我们计划使用其中一个来登录企业应用程序。
引用:
log4net
nlog
编辑:我们对nlog或log4net没有现有的依赖关系。
有人有这两方面的经验吗?它们之间有什么不同?
我们计划使用其中一个来登录企业应用程序。
引用:
log4net
nlog
编辑:我们对nlog或log4net没有现有的依赖关系。
当前回答
一个没有被过多讨论的关键考虑因素是支持和更新。
Log4Net自2006年4月19日发布1.2.10版本以来就没有更新过。
相比之下,NLog自2006年以来一直被积极支持,不久将发布NLog 2.0,支持许多在log4net上次更新时还不存在的平台,例如:
NET Framework 2.0 SP1及以上版本,3.5 & 4.0(客户端和扩展配置文件) Silverlight 2.0, 3.0, 4.0 .NET紧凑框架2.0,3.5 Mono 2。x档案
其他回答
首先查看堆栈的其余部分。
如果你正在使用NHibernate,它直接利用Log4Net。 其他框架可能有它们需要的其他特定的记录器。
除此之外:两者都很好。
我自己选择了Log4Net。配置起来很麻烦,如果配置不正确,找出哪里出了问题也很麻烦。但是,您可以让它做几乎任何您想从日志记录器。
如果你对Log4Net没有长期的问题,这是我写的一篇关于如何开始使用Log4Net的文章: http://elegantcode.com/2007/12/07/getting-started-with-log4net/
您也可以考虑Microsoft企业库日志记录块。它有很好的设计师。
我也支持NLog,因为它也可以处理非托管代码。 我认为可以同时使用log4net和log4cxx,但是NLog同时处理托管和非托管代码。
我还看了Common。日志,一个对日志api进行抽象的facade,它支持log4net, NLog和enterprise Library。我不认为我会使用它,但我喜欢他们如何使用lambdas来提高日志记录被禁用时的性能(一个与NLog和其他可能共享的特性)。
我赞同上面的方法,并且更喜欢nLog。Entlib不必要地膨胀。
有一件事总是让我与Log4net忘记添加以下到全局。Asax初始化组件:
log4net.Config.XmlConfigurator.Configure();
一个没有被过多讨论的关键考虑因素是支持和更新。
Log4Net自2006年4月19日发布1.2.10版本以来就没有更新过。
相比之下,NLog自2006年以来一直被积极支持,不久将发布NLog 2.0,支持许多在log4net上次更新时还不存在的平台,例如:
NET Framework 2.0 SP1及以上版本,3.5 & 4.0(客户端和扩展配置文件) Silverlight 2.0, 3.0, 4.0 .NET紧凑框架2.0,3.5 Mono 2。x档案