Создание Логера для конкретный классов

Для логирования используется 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. Можно ли решить эту проблему? Заранее спасибо!


Ответы (0 шт):