log4net正在记录所有级别,而不是我配置它要执行的操作

Jos*_* M. 3 .net c# configuration logging log4net

我将级别设置为"INFO",但我在日志中看到了DEBUG事件.

配置

<?xml version="1.0"?>

<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>

    <log4net>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <level value="INFO"/>
            <file value="Logs\Log.txt" />
            <appendToFile value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="10" />
            <maximumFileSize value="10MB" />
            <staticLogFileName value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
            </layout>
        </appender>

        <root>
            <appender-ref ref="RollingFileAppender"/>
        </root>
    </log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

private ILog Log { get; set; }

static Program()
{
    XmlConfigurator.Configure();
    //...
    this.Log.Info("Started in RunOnce mode.");
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*tin 8

我认为在你的root标签中你需要<level value="INFO">为你的appender 设置属性.

  • 正确 - 但更确切地说,`<root>`元素描述_logger_,而不是_appender_.这就是重点; 日志记录级别在记录器上指定,而不是在appender上指定. (3认同)