为什么Log4Net的初始化对象将所有级别属性都设为false?

时间:2016-02-11 09:58:39

标签: log4net log4net-configuration

我使用Castle.Windsor和Log4Net来初始化我的Logger。

我的log4net.config:

<?xml version="1.0"?>
 <configuration>
  <log4net>
  <appender name="AllMessagesFile" type="log4net.Appender.RollingFileAppender,log4net">
  <file value="Logs/Log.log" />
  <level value="ALL" />
  <encoding value="utf-8" />
  <appendToFile value="true" />
  <rollingStyle value="Composite" />
  <maximumFileSize value="100000KB" />
  <maxSizeRollBackups value="-1" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%d %identity [%t] %-5p %c{1}.%M %m%n" />
    <IgnoresException value="False" />
  </layout>
</appender>

<appender name="ErrorsOnlyFile" type="log4net.Appender.RollingFileAppender,log4net">
  <file value="Logs/Error.log" />
  <level value="ERROR" />
  <encoding value="utf-8" />
  <appendToFile value="true" />
  <rollingStyle value="Composite" />
  <maximumFileSize value="100000KB" />
  <maxSizeRollBackups value="-1" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%d %identity [%t] %-5p %c{1}.%M %m%n" />
  </layout>
</appender>

<root>
  <priority value="ALL" />
  <appender-ref ref="AllMessagesFile" />
  <appender-ref ref="ErrorsOnlyFile" />
</root>

</log4net>
</configuration>

我的AssamblyInfo.cs有愚蠢的行:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

在类的构造函数中,我通过Winsdor得到了对象:

public class ACIStart
{
    private ILogger Logger { get; set; }

    public ACIStart(ILogger logger)
    {
        Logger = logger;
    }

我没有任何例外,我只是将一个包含所有属性的记录器(IsDebbugEnabled,IsErrorEnabled ...)视为false。

我的日志没有写任何日志文件。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

可能需要在根节点中添加loglevel:

<root>
   <level value="DEBUG" />
   ...