Создавайте новый файл с обновленным суффиксом каждый раз, когда с помощью Serilog создается новый Logger - PullRequest
0 голосов
/ 21 ноября 2018

Я хотел бы, чтобы Serilog записывал в новый файл с увеличенным суффиксом каждый раз, когда создается новый Logger.

Например:

  • log_001.txt
  • log_002.txt

По сути, я хочу поведение, опубликованное OP для этой проблемы github: https://github.com/serilog/serilog-sinks-rollingfile/issues/9

Я хочу, чтобы OP пытался избавиться от.

Когда я использую этот код ниже, генерируется только один файл, даже если в логгере new указано несколько раз:

var log = new LoggerConfiguration()
    .WriteTo.RollingFile(@"C:\temp\testlog\log-{Date}.txt")
    .CreateLogger();

log.Debug("Created logger...");

1 Ответ

0 голосов
/ 22 ноября 2018

Я предлагаю вам проверить, содержит ли generated one file Created logger....

Для LoggerConfiguration по умолчанию LogEventLevel равно Serilog.Events.LogEventLevel.Information, что означает, что ваш код log.Debug("Created logger..."); не будет создавать записи журнала.

Я предлагаю вам выполнить тест с кодом ниже:

        var log = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .WriteTo.RollingFile(@"C:\Windows\Temp\testlog\log-{Date}.txt")
                .CreateLogger();

        log.Debug("Created logger1...");

        var log1 = new LoggerConfiguration()
                 .MinimumLevel.Debug()
                .WriteTo.RollingFile(@"C:\Windows\Temp\testlog\log-{Date}.txt", Serilog.Events.LogEventLevel.Debug)
                .CreateLogger();

        log1.Debug("Created logger2...");

Выше кода создаст два файла, если вам требуется имя файла, точно такое же, как log_001.txt и log_002.txt, вам нужночтобы реализовать собственный sink, проверьте это обсуждение Имя файла без даты # 59 .

...