Serilog эквивалентен log4net.Config.Watch? - PullRequest
0 голосов
/ 06 июня 2018

Используя log4net, можно изменить настройки ведения журнала во время выполнения, изменив файл app.config до тех пор, пока у вас есть.

<add key="log4net.Config.Watch" value="True" />

Мой вопрос прост: есть ли способ сделать это для Serilog?

Я читал о классе LoggingLevelSwitch (), но, похоже, это можно изменить только с помощью кода.Теперь, конечно, это можно запрограммировать самостоятельно, но я ищу решение, запеченное в Serilog.

1 Ответ

0 голосов
/ 07 июня 2018

Вы не можете изменить конфигурацию регистратора во время выполнения, изменив app.config: log4net Documentation

Поскольку API-интерфейс System.Configuration не поддерживаетПри перезагрузке файла конфигурации параметры конфигурации не могут отслеживаться с использованием методов log4net.Config.XmlConfigurator.ConfigureAndWatch.Основным преимуществом использования API-интерфейсов System.Configuration для чтения данных конфигурации является то, что для них требуется меньше разрешений, чем для прямого доступа к файлу конфигурации.


И вы не можете сделать это с помощью Serilog

Как вы упомянули, уровень журнала можно настроить во время выполнения, Источник :

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;

Здесь вы можете увидеть некоторые опции для изменения Sinks.

...