我想了解是否可以在生产环境中将日志记录级别从Debug更改为Error。
在Nlog中的实例中,配置文件中有一个位置,我可以在其中设置日志记录粒度。
<level value="Info" />
这可以在UAT环境中动态更改以获得调试级别错误,然后一段时间后,我可以将其更改回INFO。这只是一个配置更改,没有代码更改。
我们如何使用Serilog处理类似的情况。
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.RollingFile("log-{Date}.txt")
.WriteTo.LiterateConsole(restrictedToMinimumLevel: LogEventLevel.Information)
.CreateLogger();
如果我需要单独进行错误记录,那么我的配置将类似于
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Error()
.WriteTo.RollingFile("log-{Date}.txt")
.WriteTo.LiterateConsole(restrictedToMinimumLevel: LogEventLevel.Information)
.CreateLogger();
是否可以在不进行代码更改的情况下将最低级别更改为“错误”?
答案 0 :(得分:3)
Serilog的App.config
/ Web.config
为XML app settings provider,.NET Core的配置子系统为JSON configuration provider。
要使用App.config
/ Web.config
文件执行此操作,请先安装软件包:
Install-Package Serilog.Settings.AppSettings
在配置文件中向<appSettings>
添加密钥:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="serilog:minimum-level" value="Debug" />
并在记录器配置时阅读:
Log.Logger = new LoggerConfiguration()
.ReadFrom.AppSettings()
.WriteTo.RollingFile("log-{Date}.txt")
.WriteTo.LiterateConsole(restrictedToMinimumLevel: LogEventLevel.Information)
.CreateLogger();
您可以添加配置条目以写入接收器,丰富属性等。有关完整集,请参阅上面提供商链接中的文档。