使用log4net,可以在运行时通过更改app.config文件来更改日志记录设置。
<add key="log4net.Config.Watch" value="True" />
我的问题很简单:是否有办法为Serilog做到这一点?
我已经阅读了LoggingLevelSwitch()类,但看起来只能通过代码进行更改。现在当然可以自己编程了,但是我正在寻找Serilog编写的解决方案。
最佳答案
您无法在运行时通过更改app.config来更改记录器配置:log4net Documentation
而且您无法使用Serilog做到这一点
如您所述,日志级别可以在运行时配置Source:
var levelSwitch = new LoggingLevelSwitch();
levelSwitch.MinimumLevel = LogEventLevel.Warning;
// configuring the logger using log level switch
var log = new LoggerConfiguration()
.MinimumLevel.ControlledBy(levelSwitch)
.WriteTo.ColoredConsole()
.CreateLogger();
// and you can switch the log level later on
levelSwitch.MinimumLevel = LogEventLevel.Verbose;
您可以看到一些用于更改接收器的选项here。
关于c# - Serilog相当于log4net.Config.Watch吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50715913/