为什么 IsDebugEnabled 在我的代码中始终为 True?

发布于 2024-10-31 07:54:53 字数 1344 浏览 3 评论 0原文

我有以下代码:

private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
XmlConfigurator.Configure(new FileInfo("log4net.config"));

问题是下面的语句总是返回 True

if (Log.IsDebugEnabled) { /* do time consuming stuff and log the result */

这是我的 log4net 配置文件_

  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="ERROR" />
      <param name="LevelMax" value="ERROR" />
    </filter>

    <param name="File" value="Log.txt" />
    <param name="AppendToFile" value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <staticLogFileName value="true" />

    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%5p [%d] - %m%n" />
    </layout>

  </appender>

  <root>
    <appender-ref ref="LogFileAppender" />
    <appender-ref ref="ConsoleAppender" />
  </root>

为什么 IsDebugEnabled 总是返回 True?

I have the following code:

private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
XmlConfigurator.Configure(new FileInfo("log4net.config"));

The problem is the statement below always returns True

if (Log.IsDebugEnabled) { /* do time consuming stuff and log the result */

This is my log4net config file_

  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="ERROR" />
      <param name="LevelMax" value="ERROR" />
    </filter>

    <param name="File" value="Log.txt" />
    <param name="AppendToFile" value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <staticLogFileName value="true" />

    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%5p [%d] - %m%n" />
    </layout>

  </appender>

  <root>
    <appender-ref ref="LogFileAppender" />
    <appender-ref ref="ConsoleAppender" />
  </root>

Why does IsDebugEnabled always return True?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

下壹個目標 2024-11-07 07:54:53

来自 log4net 手册

请注意,默认情况下,根记录器被分配给 Level.DEBUG。

尝试:

<root>
    <level value="INFO"/>
</root>

请注意,IsDebugEnabled 由记录器级别控制。由于记录器和附加器之间的松散耦合,所有附加器上都有 LevelMin/LevelMax 过滤器这一事实并没有帮助。

From the log4net manual:

Note that by default, the root logger is assigned to Level.DEBUG.

Try:

<root>
    <level value="INFO"/>
</root>

Note that IsDebugEnabled is controlled by the logger level. The fact that you have LevelMin/LevelMax filters on all your appenders doesn't help, because of the loose coupling between loggers and appenders.

一百个冬季 2024-11-07 07:54:53

为 RollingFileAppender 定义 rootCategory

define rootCategory for RollingFileAppender

深巷少女 2024-11-07 07:54:53

您需要

XmlConfigurator.Configure(new FileInfo("log4net.config"));

在调用 LogManager.GetLogger 方法之前调用。我建议您在应用程序启动时执行此操作。因为按照现在的代码方式,在您实例化记录器之前,它不会配置记录器。

You need to call

XmlConfigurator.Configure(new FileInfo("log4net.config"));

before you call the LogManager.GetLogger method. I would recommend doing this in startup of your application. Because with the code the way it is now, it is not configuring the logger until after you have already instantiated it.

蓝天白云 2024-11-07 07:54:53

这是因为未设置根级别值。

<root>
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>

默认情况下,它将采用所有级别。
通过将根级别值定义为 INFOWARNERRORFATAL 将解决您的问题。

That's because the Root Level Value is not been Set.

<root>
  <appender-ref ref="LogFileAppender" />
  <appender-ref ref="ConsoleAppender" />
</root>

By Default, it will take all the Levels.
By defining the Root Level Value to INFO,WARN,ERROR,and FATAL will solve your issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文