我想實現日誌功能到一個類庫中,它本身在web服務中被引用。我嘗試添加app.config並完成了所有需要的操作,但似乎在引發異常時,log4net完全沒有任何作用。如何將log4net包含到類庫中?
我的app.config
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="D:\\mylogfile.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="test" />
</filter>
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="error" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline%exception" />
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="RollingFileAppender"/>
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
在AssemblyInfo.cs中
:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "app.config")]
在LogManager.cs
:
private static readonly ILog Log = log4net.LogManager.GetLogger
(MethodBase.GetCurrentMethod().DeclaringType);
public static void WriteLog(Exception ex)
{
Log.Error(ex);
}
能否請你告訴我,什麼是錯的?我怎樣才能讓log4net爲我的類庫工作?
謝謝
代碼如何看起來像你在調用WriteLog? – 2011-01-06 07:42:02
順便說一句,你有沒有嘗試將根級別設置爲ALL,並嘗試刪除RollingFileAppender上的所有篩選器。 – 2011-01-06 07:45:20
@Pauli:我試着按照你的建議,它仍然沒有工作:) – Vimvq1987 2011-01-06 07:59:02