Vysakh
Vysakh

Reputation: 515

You have tried to set a null level to root

I was able to create a log file before using log4net.But now Iam getting the following error"You have tried to set a null level to root." I googled but couldnt find anything..Someone please help me on this...

This is my log4net.config file...It includes code for creating a coloured html log file..

<?xml version="1.0"?>
<configuration>

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

<log4net>
  <root>
    <level Value="Info"/>
    <level Value="Error"/>
    <appender-ref ref="ColoredFileAppender" />
  </root>

  <appender name="ColoredFileAppender" type="log4net.Appender.RollingFileAppender" >
    <file type="log4net.Util.PatternString"/>
    <file value="C:\Logs\CL2.html" />
    <encoding value="utf-8" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <appendToFile value="false" />
    <layout type="log4net.Layout.PatternLayout">
       <conversionPattern value="%CC" />
       <converter>
         <name value="CC" />
         <type value="Cluster2.ColoredMessageConverter" />
       </converter>
       <mapping>
         <level value="Info" />
         <foreColor value="Green" />
       </mapping>
       <mapping>
         <level value="ERROR" />
         <backColor value="Red, HighIntensity" />
       </mapping>
     </layout>
   </appender>
</log4net>
</configuration>

Anyhelp would be really appreciated...

Thanks

Upvotes: 1

Views: 3128

Answers (3)

sgmoore
sgmoore

Reputation: 16077

Your actual error is triggered because you have Value instead of value for the level attribute.

However, as Anders has pointed out, you can only have one level

So instead of

<root>
    <level Value="Info"/>
    <level Value="Error"/>
    <appender-ref ref="ColoredFileAppender" />
</root>

you should have

<root>
   <level value="Error"/>
   <appender-ref ref="ColoredFileAppender" />
 </root>

Upvotes: 2

Harish
Harish

Reputation: 1519

Take a look at this code below. I am using log4net as well and this is how I set up my config. Which framework are you working with ?

 <log4net>
    <root>
      <priority value="Info" />
      <appender-ref ref="RollingFileAppender" />
    </root>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\Temp\Application.API.log" />
      <appendToFile value="true" />
      <rollingStyle value="Composite" />
      <maxSizeRollBackups value="14" />
      <maximumFileSize value="15000KB" />
      <datePattern value="yyyyMMdd" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="{%level}%date{dd/MM/yyyy HH:mm:ss} - %C{1}.%M - %message%newline" />
      </layout>
    </appender>
  </log4net>

Upvotes: 1

Anders Forsgren
Anders Forsgren

Reputation: 11111

Try removing one of the level tags under the <root> element. If I understand the schema correctly, you can only specify a single log level.

Upvotes: 2

Related Questions