我正在研究如何在我的C#应用程序中实现日志记录 - 它是一个DLL类库.哪些日志框架最广泛使用 - 什么会给我的DLL用户最大的灵活性和可配置性?是否有log #j的C#等价物?
2009答案: .NET平台log4j的等价物是log4net,我猜这是广泛使用的.
2019答:以下是https://github.com/quozd/awesome-dotnet/blob/master/README.md#logging的各种备选方案:
Essential Diagnostics - 扩展System.Diagnostics命名空间的内置功能,以提供灵活的日志记录
NLog - NLog - 高级.NET和Silverlight日志记录
Logazmic - 适用于Windows的开源NLog查看器
ELMAH - ELMAH官方网站
Elmah MVC - Elmah for MVC
Logary - Logary是一个针对Mono和.NET的高性能,多目标日志记录,度量,跟踪和运行状况检查库..NET对DropWizard的回答.支持许多针对微服务的目标.
Log4Net - Apache log4net库是一个帮助程序员将日志语句输出到各种输出目标的工具
com.csutil.Log - 一个轻量级的零配置日志包装器,可以与Serilog等其他日志库结合使用,以实现更复杂的用例.
Serilog - NoSQL时代的一个严肃的日志库.将最好的传统和结构化诊断日志记录结合在一个易于使用的软件包中.
StackExchange.Exceptional - 用于Stack Exchange网络的错误处理程序
语义记录应用程序块(SLAB) - 扩展System.Diagnostics.Tracing命名空间(EventSource类)的内置功能,以记录到几个接收器,包括Azure表,数据库,文件(JSON,XML,文本).支持通过ETW进行进程内和进程外日志记录,以及用于实时过滤/聚合事件的Rx.
Foundatio - 一种流畅的日志记录API,可用于在整个应用程序中记录消息.
无例外 - 无异常的.NET客户端
放大镜 - 集中式.NET日志记录和监控.[专有] [免费等级]
elmah.io - 使用ELMAH进行.NET Web应用程序的云日志记录.在你上线之前发现bug.强大的搜索,API,与Slack,GitHub,Visual Studio等的集成.[ OSS免费 ] [$]
BugSnag - 记录错误.包括有用的诊断信息,如堆栈跟踪,会话,发布等.有一个免费的层.[OSS免费] [$]
在众多项目中成功使用了NLog.