Я пишу небольшую утилиту для преобразования файлов.Файлы автоматически конвертируются, когда они помещаются в каталог.
Я использую NLog для ведения журнала.Помимо центрального файла журнала, который настроен с использованием NLog.conf (и который принимает все сгенерированные сообщения), я хотел бы создать один дополнительный файл журнала для каждого входного файла, имеющий аналогичное имя и содержащий весь журналсообщения, написанные в процессе преобразования.
К сожалению, я не могу найти, как правильно добавить новую цель файла вместе с соответствующим правилом во время выполнения.Я хочу, чтобы все Logger
объекты записывали в новый файл журнала в процессе преобразования.
Я пробовал что-то вроде
var logfile = new NLog.Targets.FileTarget();
logfile.FileName = fileName + ".log";
logfile.KeepFileOpen = true;
logfile.Initialize();
var rule = new NLog.Config.LoggingRule("*", logfile);
NLog.LogManager.Configuration.LoggingRules.Add(rule);
NLog.LogManager.ReconfigExistingLoggers();
//
// Proceed with converting file
//
logfile.Flush();
NLog.LogManager.Configuration.LoggingRules.Remove(rule);
NLog.LogManager.ReconfigExistingLoggers();
Но файл журнала не был создан.
Что я не так сделал?Есть идеи?