Я использую NLog и следую рекомендуемому шаблону объявления журнала для каждого класса, чтобы иметь возможность отслеживать, какой класс/метод записал в журнал. Я считаю, что очень полезно иметь бит "трассировки стека" верхнего уровня с каждой записью журнала.
Мой код выглядел так:
class SomeClass {
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
void DoStuff() {
logger.Debug("stuff"); }
}
Недавно у меня было требование, чтобы мой единственный проект записывал 3 отдельных файла журнала, и для этого я добавил несколько логинов и целей, как указано здесь: qaru.site/info/249963/...
Однако теперь в моих файлах журналов я потерял имя класса. Теперь он просто записывает имя журнала, которое я указал в NLog.config. Я рассмотрел просто добавление имени метода с вызовом
System.Reflection.MethodBase.GetCurrentMethod(); // use Name property
или используя что-то другое в Reflection, как это
Тем не менее, мне интересно, имеет ли NLog что-то встроенное в это, что мне не хватает? Метод Debug() Я вижу только возможность писать строку с параметрами и, возможно, форматированием.
Является ли это встроенным в NLog?