2016-09-30 8 views
1

У меня есть группа архивов, каждая из которых содержит тысячи файлов для обработки. Я хочу написать один файл журнала в виде сводки, содержащий ошибки, если таковые имеются, и, наконец, для каждого архива отдельный файл журнала со всеми обработанными элементами.Запись Serilog на неопределенное количество файлов журнала

Первые два могут быть сконфигурированы с помощью WriteTo и Filters. Но я не знаю, сколько архивов впереди. Можно ли запускать новые файлы журналов во время выполнения в цикле?

Благодаря

ответ

2

Да, Serilog регистраторы могут быть созданы и уничтожены на лету:

foreach (var archive in archives) 
{ 
    var filename = "archive-" + archive.Name + ".txt"; 
    using (var log = new LoggerConfiguration() 
      .WriteTo.File(filename) 
      .CreateLogger()) 
    { 
     log.Information("Processing archive"); 
     // etc. 
    } 
} 
+0

Оказывается большой. благодаря – Whoever