应用程序在修改Log4net的App.config时崩溃

时间:2013-11-08 16:29:34

标签: c# winforms .net-3.5 log4net

这是我第一次使用Log4Net,所以我确定我做的事情非常愚蠢。

App.config<configuration>标记内,我有以下内容:

<log4net>
   <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
     <param name="File" value="log-file.txt" />
     <param name="AppendToFile" value="true" />
     <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header]\r\n" />
        <param name="Footer" value="[Footer]\r\n" />
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />
     </layout>
   </appender>

   <root>
     <level value="WARN" />
        <appender-ref ref="LogFileAppender" />
   </root>
</log4net>

在我的Program.cs文件中,我发现了一个ConfigurationException:

Message: Configuration system failed to initialize
InnerException: Unrecognized configuration section log4net.

但我直接从他们网站上提供的.NET示例中复制粘贴配置代码。我阅读了他们的文档,但对于从未使用过任何类型的日志框架的人来说,这非常令人困惑。我还找到了一些关于CodeProject的教程,这些教程可以让你的手更好,但不能弄明白我做错了什么。我尝试将<root>元素放在<appender>元素之前,这给了我相同的ConfigException。是的,我已经在项目中添加了对DLL的引用。

1 个答案:

答案 0 :(得分:2)

听起来您忘了添加configSection的{​​{1}}条目:

log4net

为了使用<configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <!-- other configurations, such as appSettings and whatnot --> <log4net> <!-- log4net configuration that you already have --> </log4net> </configuration> 配置节点,需要告知系统如何解释该节点,该节点在log4net类中处理。