.NET世界是否有日志记录?

Eli*_*jah 40 .net c# logging slf4j

我对.NET堆栈有些新意,我想知道是否有与.NET平台相同的slf4j.对我来说,记录到Facade并能够根据需要交换日志记录实现是有道理的.此外,当我需要使用针对我没有使用的单个日志记录框架编码的第三方库时,slf4j中可用的包装器API已经多次保存了我.

是否有一个项目作为log4net,nLog和Enterprise Library等记录器之间的外观?是否有包装器允许我快速调用这些库并将它们引导到另一个库?我应该开始一个开源项目来自己做吗?这个问题是否重复,因为我不知道正确的问题?相反,使用面向方面编程的常用方法是什么?

Tom*_*ski 20

借口我用过这个东西,我忘了它不是Apache版本.它实际上是开源的,是一个名为common infrastructure的项目的一部分.它也被称为普通日志.它适用于MS Enterprise,log4net等.它运作良好.

  • @Steven很高兴您找到了适合您的程序.我个人发现能够站在别人的肩膀上对我们有利,所以我通常依赖于记录组件.slf4j非常适合那些普通的api. (5认同)
  • 是的,Common Logging是.NET的日志记录 (3认同)
  • @abatishchev:2.1.1于2012年6月9日发布. (2认同)

Mau*_*fer 10

快来看看Castle Windsor Logging Facility吧.

基本代码在这里.这里有 Log4net适配器.NLog适配器在这里.

Serilog添加了适配器.

没有适配器,可以使用ConsoleLogger,DiagnosticsLogger,StreamLogger和NullLogger.

将适配器编写到任何其他日志框架非常容易.


que*_*rin 9

我正在使用简单日志外观,因为它似乎支持开箱即用的.Net的Object Guy的日志框架.


sha*_*atl 6

.NET Core 更新:


Sam*_*am7 5

我有同样的问题.经过上面推荐的那些,我发现了Ninject.Extensions.Logging

这很棒,因为无论如何,外观最好与DI结合使用

它带有NLog,NLog2和log4net的代理.

这是一个很好的例子,说明如何将它与NLog结合使用:http: //blog.tonysneed.com/2011/10/09/using-nlog-with-dependency-injection/

我明白,这个问题已经有几年了,但由于其他用户的完整性,我仍然选择发布这个"解决方案"