Мне интересно, есть ли способ изменить имя класса экземпляра регистратора во время выполнения? Я хочу не создавать регистратор в каждом классе, но внедрить его через конструктор. но после этого я получаю в файле неправильное имя класса, которое вызывает событие. Структура проекта выглядит следующим образом
public class c1
{
private Logger _logger = LogManager.GetCurrentClassLogger();
public void doSmth()
{
c2 myC2= new c2(_logger);
myC2.LogSomething();
}
public void LogSomething()
{
_logger.Info("c1 test");
}
}
public class c2
{
private Logger _logger;
public c2(Logger logger)
{
this._logger = logger;
}
public void LogSomething() {
_logger.Info("c2 test");
}
}
все отлично работает, но в лог-файле мы получаем
2011-09-07 09: 33: 59.7521 | INFO | c1 | c1 test
2011-09-07 09: 33: 59.7611 | INFO | c1 | c2 test