Имеется некий Updater на C# с используемой библиотекой NLog
Updater получает пакеты для обновлений из папок содержащие в своем имени номер версии, например название папки 3.0.14
Допустим в Updater'e была выбрана версия 3.0.14, он будет в дальнейшем работать только с этой папкой и брать оттуда пакеты для обновления окружения.
Вопрос: как заставить NLog писать лог в папку с выбранной версией для обновления, в моем примере хотелось бы писать лог в директорию .../3.0.14/Logs/log-file.txt
Можно ли это сделать с NLog?
Сейчас NLog настроен следующим образом:
В коде:
private static readonly Logger Log = LogManager.GetCurrentClassLogger();
Ответ
Можно настроить NLOG кодом, чтобы он писал строго куда задано и никто не мог переназначить это дело:
var config = new LoggingConfiguration();
var fileTarget = new FileTarget();
config.AddTarget("file", fileTarget);
fileTarget.FileName = @"${basedir}/${processname}_${date:format=yyyy_MM_dd}.log";
fileTarget.Layout = @"${date:format=HH\:mm\:ss} ${processid} ${threadid} ${logger} ${message}";
var rule2 = new LoggingRule("*", LogLevel.Debug, fileTarget);
config.LoggingRules.Add(rule2);
LogManager.Configuration = config;
Комментариев нет:
Отправить комментарий