您已尝试将null级别设置为root

时间:2013-04-30 10:50:47

标签: c# log4net

我在使用log4net之前能够创建一个日志文件。但是现在我收到以下错误“你试图将一个空级别设置为root。”我用Google搜索但无法找到任何内容。有人请帮助我...

这是我的log4net.config文件...它包含用于创建彩色html日志文件的代码..

<?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真的很感激......

由于

3 个答案:

答案 0 :(得分:2)

尝试删除<root>元素下的其中一个关卡标记。如果我正确理解schema,则只能指定一个日志级别。

答案 1 :(得分:2)

您的实际错误已触发,因为您为级别属性Value而不是value

然而,正如安德斯所指出的,你只能有一个级别

所以而不是

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

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

答案 2 :(得分:1)

请看下面的代码。我也在使用log4net,这就是我设置配置的方法。您正在使用哪个框架?

 <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>