Serilog - 如何在不更改代码的情况下更改日志记录粒度
Serilog - how to change logging granularity without code change
我想了解是否可以在生产环境中即时将日志记录级别从“调试”更改为“错误”。
对于 Nlog 中的实例,配置文件中有一个位置,我可以在其中设置日志记录粒度。
<level value="Info" />
这可以在 UAT 环境中即时更改以获得调试级别错误,然后过一会儿,我可以将其更改回信息。这只是一个配置更改,没有代码更改。
我们如何使用 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();
是否可以在不更改代码的情况下即时将最低级别更改为错误?
Serilog 有一个 XML app settings provider for App.config
/Web.config
, and a JSON configuration provider 用于 .NET Core 的配置子系统。
要使用 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();
您还可以添加配置条目以写入接收器、丰富属性等。请参阅上面提供者 link 处的完整文档。
我想了解是否可以在生产环境中即时将日志记录级别从“调试”更改为“错误”。
对于 Nlog 中的实例,配置文件中有一个位置,我可以在其中设置日志记录粒度。
<level value="Info" />
这可以在 UAT 环境中即时更改以获得调试级别错误,然后过一会儿,我可以将其更改回信息。这只是一个配置更改,没有代码更改。
我们如何使用 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();
是否可以在不更改代码的情况下即时将最低级别更改为错误?
Serilog 有一个 XML app settings provider for App.config
/Web.config
, and a JSON configuration provider 用于 .NET Core 的配置子系统。
要使用 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();
您还可以添加配置条目以写入接收器、丰富属性等。请参阅上面提供者 link 处的完整文档。