log4net:ERROR找不到配置节“log4net”

时间:2013-11-05 04:02:14

标签: c# log4net app-config

当我尝试使用以下命令配置记录器时出现此错误:

log4net.Config.XmlConfigurator.Configure();

app.config看起来像这样:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="C:\Logs\my-log-file.txt" />
      <param name="AppendToFile" value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%C{1}.%M] - %message%newline" />
      </layout>
    </appender>
  </log4net>
</configuration>

我正在尝试为系统的每个组件编写单独的日志。我有一个为主类工作但我在尝试为另一个类配置另一个时遇到此错误。原因是什么?

先谢谢!

1 个答案:

答案 0 :(得分:1)

我最终使用以下命令配置我的加载项和RTD:

[外接]

log4net.Config.XmlConfigurator.Configure(
                new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "MyAdd-In.dll.config"));

[RTD]

log4net.Config.XmlConfigurator.Configure(
                new FileInfo(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\RtdServer.dll.config"));

然后为我的RTD配置了单独的记录器。

H个