Я пишу небольшую утилиту для преобразования файлов. Файлы автоматически преобразуются при их удалении в каталог.
Я использую 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();
Но файл журнала не был создан.
Что я не так понял? Любая идея?