2013-10-17 58 views
27

我有這樣的代碼在web.config中:無法識別的配置節log4net的

<log4net> 
    <root> 
    <level value="ALL" /> 
    <appender-ref ref="LogFileAppender" /> 
    </root> 
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <param name="File" value="D:\logFileFaculty.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 [%property{NDC}] - %message%newline" /> 
    </layout> 
    </appender> 
</log4net> 

而且我已經下載log4net.dll,並把它放在Bin文件夾。

在我aspx.cs網頁一個我加入這個代碼:

using log4net; 
[assembly: log4net.Config.XmlConfigurator(Watch = true)] 


private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 

但它給錯誤的Unrecognized configuration section log4net

回答

56

您需要聲明log4net部分:

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
</configSections> 

採取在這解釋了必要的事情要做documentation一探究竟。

+2

作爲C#的一個徹頭徹尾的noob,我按照指示(幾乎)打開app.config文件,找到另一個

元素,並粘貼上面的一個log4net。它。起初我並沒有意識到,我已經將它粘貼在一個標籤中。這沒有用。所以我終於意識到自己的錯誤,並直接將它粘貼到元素中。我生命中20分鐘的時間寫得匆忙和粗心。 –

相關問題