All Log4net IsErrorEnabled and sibling properties return false

Viewed 146

I have the below code :

public void LoggingAI(Exception ex)
{   
    var log = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
    XmlConfigurator.Configure();

    if (log.IsInfoEnabled)
    {
        log.Error(ex);
    }
}

I have this below code in place in web.config

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
    <root>
        <level value="Info"/>
    </root>
</log4net>

I don't understand why all the properties, log.IsInfoEnabled, log.IsErrorEnabled, etc. are all false.

Am I missing something here?

1 Answers

Call Configure() before you use anything in Log4Net.

enter image description here

Unable to reproduce your situation:

enter image description here

Firstly Add the below to the Config sections:

<configSections>
<!--- Other Stuff here --->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>

Secondly below is a sample Log4Net section Config:

<log4net>
    <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
      <mapping>
        <level value="INFO" />
        <foreColor value="Green, HighIntensity" />
      </mapping>
      <mapping>
        <level value="DEBUG" />
        <foreColor value="Cyan, HighIntensity" />
      </mapping>
      <mapping>
        <level value="WARN" />
        <foreColor value="Yellow, HighIntensity" />
      </mapping>
      <mapping>
        <level value="ERROR" />
        <foreColor value="Red, HighIntensity" />
      </mapping>
      <mapping>
        <level value="FATAL" />
        <foreColor value="Yellow, HighIntensity" />
        <backColor value="Red" />
      </mapping>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %class.%method%newline%message%newline" />
      </layout>
    </appender>          

    <!-- Setup the root category, add the appenders and set the default level -->
    <root>
      <level value="INFO" />
      <appender-ref ref="ColoredConsoleAppender" />
    </root>    
  </log4net>
Related