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

Why my initialized object of Log4Net have all levels properties as false?

我使用 Castle.Windsor 和 Log4Net 来初始化我的记录器。

我的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)]

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

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

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

我没有任何异常,我只是得到一个所有属性(IsDebbugEnabled、IsErrorEnabled ...)都为 false 的记录器。

我的日志没有向日志文件写入任何内容。

可能是什么问题?

可能是您需要在根节点中添加日志级别:

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