Создание Логера для конкретный классов
Для логирования используется NLog. Т.к. логи необходимы в разных проектах решения, то появилась идея лоигрования в одном месте (чтобы не добавлять NLog в каждый проект и агрегировать всю работу с NLog в одном конкретном месте). Для этого сделал следующее:
public static Dictionary<Type, Logger> logger_map = new Dictionary<Type, Logger>();
public static LoggingManager CreateLogger(Type source_class)
{
if (!logger_map.Keys.Contains(source_class))
{
logger_map.Add(source_class, LogManager.GetCurrentClassLogger(source_class));
}
return new LoggingManager();
}
В LoggingManager логирование делается так:
//получили логер для конкретного класса
var logger = CoreHelper.logger_map[<class_type>];
logger.Log(...);
Проблема в том, что для каждого логера не указывается не переданный класс(source_class), а тот, из которого вызывается CreateLogger. Можно ли решить эту проблему? Заранее спасибо!