有人有这两方面的经验吗?它们之间有什么不同?
我们计划使用其中一个来登录企业应用程序。
引用:
log4net
nlog
编辑:我们对nlog或log4net没有现有的依赖关系。
有人有这两方面的经验吗?它们之间有什么不同?
我们计划使用其中一个来登录企业应用程序。
引用:
log4net
nlog
编辑:我们对nlog或log4net没有现有的依赖关系。
当前回答
我赞同上面的方法,并且更喜欢nLog。Entlib不必要地膨胀。
有一件事总是让我与Log4net忘记添加以下到全局。Asax初始化组件:
log4net.Config.XmlConfigurator.Configure();
其他回答
根据我的经验,SmartInspect优于NLog和log4net。
它非常容易使用,文档很棒,您可以使用交互式日志查看器查看和过滤以前记录的消息,这是一个巨大的现实优势。
我喜欢的一件事是数据的标签视图,就像Chrome中的浏览器标签。每个选项卡都可以提供不同的日志过滤视图。
对于我运行的一个开源项目,这是一个无耻的宣传,但是考虑到关于哪个. net日志框架更活跃的热烈讨论,我认为我应该发布一个到Serilog的必要链接。
要在应用程序中使用,Serilog类似于log4net(并大量借鉴了log4net)。然而,与其他. net日志选项不同的是,Serilog是关于保存日志事件的结构以供脱机分析。当你写:
Log.Information("The answer is {Answer}", 42);
大多数日志库立即将消息呈现为字符串。Serilog也可以这样做,但它保留了{Answer: 42}属性,以便稍后使用多个NoSQL数据存储之一时,可以根据Answer的值正确地查询事件。
我们已经接近1.0并支持所有的现代(。NET 4.5、Windows Store和Windows Phone平台。
您也可以考虑Microsoft企业库日志记录块。它有很好的设计师。
对我们来说,关键的区别在于整体表现……
看看Logger。与Log4Net相比,NLog中的IsDebugEnabled,从我们的测试来看,NLog的开销更少,这就是我们所追求的(低延迟的东西)。
干杯, 弗洛里安
正如我注意到的那样,log4net在应用程序运行的整个过程中都会锁定它们的输出文件,因此不能删除它们。除此之外,它们是相似的。
所以我更喜欢NLog。