У меня есть следующий класс:Как войти в двух разных файлов с помощью NLog
private string name;
private Logger logger;
private LogLevel lvl;
private LoggingConfiguration config;
public Logger(string name, string path, string format, LogLevel lvl)
{
this.name = name;
FileTarget fileTarget = new FileTarget();
fileTarget.FileName = path;
fileTarget.Layout = format;
this.lvl = lvl;
LoggingRule rule = new LoggingRule(name, lvl, fileTarget);
config = new LoggingConfiguration();
config.AddTarget(name, fileTarget);
config.LoggingRules.Add(rule);
LogManager.Configuration = config;
logger = LogManager.GetLogger(this.name);
logger.Trace("test");
}
я создаю две разные регистраторы, как это:
Logger("log1", "c:\\test\\log1.txt", ${message}, LogLevel.Debug);
Logger("log2", "c:\\test\\log2.txt", ${message}, LogLevel.Debug);
Оба файла создаются с помощью теста строки. Но когда я пытаюсь зарегистрировать сообщение с (метод класса):
public void Log(string msg)
{
logger = NLog.LogManager.GetLogger(name);
//LogManager.Configuration = config;
//LogManager.Configuration.Reload();
logger.Log(lvl, msg);
}
Сообщение зарегистрировано только во втором файле. Что я делаю не так?
Вы используете то же имя файла для обоих регистраторов в коде выше. – Striezel
Это была ошибка в типографии, извините, я изменил пути, которые использовал и не проверял перед публикацией здесь. Во всяком случае, отредактировал сообщение. Спасибо. – alface