В моем приложении я работаю над несколькими тысячами документов в день. Я бы хотел, в некоторых случаях, записать несколько журналов по одному документу. Затем я хочу, чтобы для определенной цели изменилось имя выходного файла (и только имя файла) во время выполнения.Обновить имя файла NLog target во время выполнения
Вокруг Интернета я нашел, как создать цель, программируя меня. Я бы просто обновил имя файла, программируя. Я попробовал код ниже. Ошибка я получаю это «LayoutRender не может быть найден 'logDirectory'
Любая идея
Спасибо,
var target = (FileTarget)LogManager.Configuration.FindTargetByName("logfile");
target.FileName = "${logDirectory}/file2.txt";
LoggingConfiguration config = new LoggingConfiguration();
var asyncFileTarget = new AsyncTargetWrapper(target);
config.AddTarget("logfile", asyncFileTarget);
LogManager.Configuration = config;
конфигурационный файл является:.?
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<variable name="logDirectory" value="C:/MyLogs"/>
<targets>
<target name="logfile" xsi:type="File" layout="${date:format=dd/MM/yyyy HH\:mm\:ss.fff}|${level}|${stacktrace}|${message}" fileName="${logDirectory}/file.txt" />
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="logfile" />
</rules>
</nlog>
Вы когда-нибудь находили решение? Если нет, я могу предложить некоторые ответы. – KOTIX
Вот очень четкий ответ: [Установка файла журнала вручную] (http://stackoverflow.com/questions/3516242/add-remove-logfiles-during-runtime-in-nlog) – aozan88
Вот очень четкий ответ: [ Установка целевых заданий вручную вручную (http://stackoverflow.com/questions/3516242/add-remove-logfiles-during-runtime-in-nlog) – aozan88