在使用log4net时直接调用根日志记录器是一种好做法吗?

本文关键字:一种 记录器 log4net 日志 调用 | 更新日期: 2023-09-27 18:13:12

我想知道是否有任何问题或技术上的争论反对它直接调用log4net的根记录器,而不是通过另一个记录器/appender并在根中引用它。

我想做的是直接获得根记录器,如:

this._logger = LogManager.GetLogger("Root");
根定义:

<root>
  <level value="ALL" />
  <appender-ref ref="Root.File"/>
</root>

它工作得很好,但我不确定这是否是一个好的做法。

在使用log4net时直接调用根日志记录器是一种好做法吗?

我认为这是一种糟糕的做法,因为它偏离了标准用法,而且我看不到任何好处。

我也不确定你是否完全理解它在做什么。GetLogger命令不是在查找根记录器,而是在查找一个名为 root的记录器。因为您没有定义一个,所以它将退回到使用根日志记录器。但是如果您添加一个名为root的,如下所示,您可以看到这会禁用日志记录。

<root>
    <level value="ALL" />
    <appender-ref ref="Root.File"/>
</root>
<logger name="root">
    <level value="OFF" />
</logger
相关文章: