使用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/

10-12 18:38