Какова цель NLog LogManager.GetLogger(строка, тип) перегрузки
LogManager
класс имеет два метода: GetLogger
и GetCurrentClassLogger
, с перегрузкой принимая параметр Type loggerType
public static Logger GetLogger(string name, Type loggerType)
public static Logger GetCurrentClassLogger(Type loggerType)
Штаты документации,loggerType
is ' тип регистратора для создания. Тип должен наследовать от NLog.Лесоруб.'
какова цель таких перегрузок? Зачем мне создавать регистраторы унаследованных типов?
1 ответов
вы можете создать свой собственный регистратор в качестве подкласса регистратора NLog, если хотите добавить определенное поведение к вашему регистратору.
Если вы посмотрите на репозиторий github NLog здесь:
https://github.com/NLog/NLog/tree/master/examples/ExtendingLoggers/InheritFromLogger
вы можете увидеть пример того, как расширить NLog путем подкласса Logger. В случае примера новый подкласс Logger (LoggerWithEventID) позволяет легко помечать каждый оператор журнала с "идентификатором события". Есть и другие способы пометить каждый оператор идентификатором события, который не включает подклассы, но это просто показывает, что можно реализовать такую вещь.
эти перегрузки позволяют разработчику разработать свою собственную реализацию пользовательского регистратора, а затем NLog создать и распределить эти пользовательские регистраторы, не затрачивая много усилий.