.net 日志输出提供程序
日志输出提供程序是用与指定日志输出位置的一个东西
当你使用.net webapi 默认的日志框架Logger打印日志时,日志除了会在终端中输出,还会在Debug窗口中输出
例如以下代码
_logger.LogInformation("------------------------Info---------------------");
_logger.LogError("------------------------Error---------------------");
_logger.LogWarning("------------------------Warning---------------------");
在终端中输出
在Debug输出
Logger打印的日志之所以会在终端和Debug中输出,其原因是.net webapi Logger默认的输出提供程序集就包含了终端输出提供程序和Debug输出提供程序
如果我们将Logger的输出提供程序集清空,则将看不到任何输出
例如在Program.cs,中增加一些代码,再次尝试打印日志会发现根本没有任何日志被输出
在此基础上,如果向Logger中增添一个有关Console的日志输出提供程序,再次尝试输出日志
则在终端中能看到日志输出,而在Debug中仍看不到日志输出
除非你将有关Debug的日志输出提供程序也添加进Logger中
所以日志输出提供程序就是一个指定日志输出位置的东西,添加不同的日志输出提供程序,就可以把日志信息输出到不同的地方
我们可以根据自身需要灵活选择不同的日志输出提供程序
也可以对不同日志输出提供程序进行不同的配置
如果希望Console中日志级别为“Error”,而Debug中的日志级别为“Warning”,则可以按照如下方式进行配置
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"Console": {
"LogLevel": {
"Default": "Error"
}
},
"Debug": {
"LogLevel": {
"Default": "Warning"
}
}
}
如果对有关日志级别方面有不理解的,可以参考这篇文章