引言
不管你是开发单体应用还是微服务应用,在实际的软件的开发、测试和运行阶段,开发者都需要借助日志来定位问题。因此一款好的日志组件将至关重要,在.NET 的开源生态中,目前主要有Serilog、Log4Net和NLog三款优秀的日志组件,但相较而言,NLog功能更加强大且扩展性强,允许开发者在仅修改配置文件的方式来丰富日志输出内容,支持多种日志格式,包括XML、JSON、YAML等,支持多种输出目标,包括文件、数据库、控制台、Loki、ElasticSearch等,支持自定义日志格式,支持日志级别,支持异步写入等功能。
NLog 日志组件的使用
那在实际使用中如何集成呢?接下来以ASP.NET Core 应用为例进行详细讲解。
-
创建示例项目:控制台执行 dotnet new mvc -n NLog.Demo
创建示例应用。 -
安装NLog 日志组件:进入项目内部,控制台执行 dotnet add package NLog.Web.AspNetCore
添加NLog.Web.AspNetCore
NuGet 包。 -
添加NLog 配置文件:官方提供两种方式用来添加配置,一种是添加 nlog.config
文件使用xml
格式进行配置,一种是直接在appsettings.json
文件中使用json
格式进行配置,这里推荐使用json
格式配置,以便和ASP.NET Core现有的配置体系对齐。在appsettings.json
中添加NLog
配置节点,如下所示,该配置将Info
及以上级别的日志输出到控制台,将Debug
及以上级别的日志输出到App_Data/Logs
目录。
{
"Logging": {
"LogLevel": {
"Default":