https://nlog-project.org/
Nlog是一个灵活开源的日志平台,适用于.NET的各种平台,也包括.NET standard。Nlog使写入多个目标(数据库、文件、控制台)变得很容易,并且动态更改日志配置。
特点
1、容易配置:Nlog非常容易配置,无论是通过配置文件还是通过编程方式。即使不重新启动应用程序,也可以更改配置。
2、模板化:每个日志消息都可以用不同的布局呈现模板化。
3、可扩展性:即使Nlog有目标和预定义的布局,可以编写自定义目标或传递自定义值。
4、结构化日志:完全支持结构化日志记录。
目标
目标用于显示、存储或将日志消息传递到另一个目的地。Nlog可以为每条日志消息动态地写入多个目标中的一个。
提供了30多个即时可用的目标,包括:
1、文件(File):使用自动文件命名和归档功能,将日志写入任意数量的文件。NLog默认不会锁定你的文件。
2、事件日志(Event Log):写入本地或远程的日志。
3、数据库(Database):将日志存储在.NET支持的数据库中。
4、控制台(Console):实时写入命令行控制台,包括消息的颜色编码。
5、邮件(E-mail):当应用程序发生错误时可以发送邮件。
还有一些包装器目标,他们提供缓冲、负载均衡、故障转移情况、异步写入和许多其他场景。完整的目标列表可以在配置选项页面中找到。如果没有找到适合需要的目标,可以很容易地编写一个自定义目标。
支持
Nlog支持以下平台:
.NET Framework 3.5, 4, 4.5 - 4.8
.NET Framework 4 client profile
Xamarin Android
Xamarin iOs
Windows Phone 8
Silverlight 4 and 5
Mono 4
ASP.NET 4 (NLog.Web package)
ASP.NET Core (NLog.Web.AspNetCore package)
.NET Core (NLog.Extensions.Logging package)
.NET Standard 1.x - NLog 4.5
.NET Standard 2.x - NLog 4.5
UWP - NLog 4.5