Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NLog LogManager.GetLogger(字符串,类型)重载的目的是什么_C#_Nlog - Fatal编程技术网

C# NLog LogManager.GetLogger(字符串,类型)重载的目的是什么

C# NLog LogManager.GetLogger(字符串,类型)重载的目的是什么,c#,nlog,C#,Nlog,LogManager类有两种方法:GetLogger和GetCurrentClassLogger,重载采用参数Type loggerType 公共静态记录器GetLogger(字符串名称,类型loggerType) 公共静态记录器GetCurrentClassLogger(类型loggerType) 文档说明,loggerType是“要创建的记录器的类型”。该类型必须从NLog.Logger继承。” 这种重载的目的是什么?为什么我需要创建继承类型的记录器?如果要向记录器添加某些特定行为,可以创

LogManager
类有两种方法:
GetLogger
GetCurrentClassLogger
,重载采用参数
Type loggerType

公共静态记录器GetLogger(字符串名称,类型loggerType)
公共静态记录器GetCurrentClassLogger(类型loggerType)
文档说明,
loggerType
是“要创建的记录器的类型”。该类型必须从NLog.Logger继承。”


这种重载的目的是什么?为什么我需要创建继承类型的记录器?

如果要向记录器添加某些特定行为,可以创建自己的记录器作为NLog记录器的子类

如果您在这里查看NLog的github存储库:

您可以看到如何通过子类化Logger来扩展NLog的示例。在本例中,新的子类Logger(LoggerWithEventID)可以轻松地用“事件ID”标记每个日志语句。还有其他方法可以用事件ID标记每个语句,而不涉及子类化,但这只是表明可以实现这样的事情

这些重载允许开发人员开发他/她自己的自定义记录器实现,然后让NLog创建并分发这些自定义记录器,而无需花费大量精力