2024-01-09 08:00:07

log4net vs. nlog

有人有这两方面的经验吗?它们之间有什么不同?

我们计划使用其中一个来登录企业应用程序。

引用:

log4net

nlog

编辑:我们对nlog或log4net没有现有的依赖关系。


当前回答

对我们来说,关键的区别在于整体表现……

看看Logger。与Log4Net相比,NLog中的IsDebugEnabled,从我们的测试来看,NLog的开销更少,这就是我们所追求的(低延迟的东西)。

干杯, 弗洛里安

其他回答

对于那些晚到这个线程的人,你可能想要回顾一下。net基类库(BCL)。在引入TraceSource类(大约在2005年)时,许多人忽略了。net 1.1和。net 2.0之间的变化。

使用TraceSource类似于其他日志框架,对日志进行粒度控制,在app.config/web中配置。配置和编程访问-没有企业应用程序块的开销。

.Net BCL团队博客:跟踪介绍-第一部分(也可以查看第二部分a,b,c)

还有很多比较:“log4net vs TraceSource”

首先查看堆栈的其余部分。

如果你正在使用NHibernate,它直接利用Log4Net。 其他框架可能有它们需要的其他特定的记录器。

除此之外:两者都很好。

我自己选择了Log4Net。配置起来很麻烦,如果配置不正确,找出哪里出了问题也很麻烦。但是,您可以让它做几乎任何您想从日志记录器。

如果你对Log4Net没有长期的问题,这是我写的一篇关于如何开始使用Log4Net的文章: http://elegantcode.com/2007/12/07/getting-started-with-log4net/

嗯. .我使用Enterprise库执行数据库日志记录任务 现在由于性能瓶颈,我切换到NLog。

一些比较信息:

http://pauliusraila.blogspot.com/2010/10/solving-database-logging-bottlenecks.html

我赞同上面的方法,并且更喜欢nLog。Entlib不必要地膨胀。

有一件事总是让我与Log4net忘记添加以下到全局。Asax初始化组件:

log4net.Config.XmlConfigurator.Configure();

根据我的经验,SmartInspect优于NLog和log4net。

它非常容易使用,文档很棒,您可以使用交互式日志查看器查看和过滤以前记录的消息,这是一个巨大的现实优势。

我喜欢的一件事是数据的标签视图,就像Chrome中的浏览器标签。每个选项卡都可以提供不同的日志过滤视图。