Какова цель 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 создать и распределить эти пользовательские регистраторы, не затрачивая много усилий.