1、從Nuget下載lognet.dllapp
找到log4net以後,單擊log4net,右側會出現你的項目,勾選要安裝的項目,而後點擊「安裝」。函數
2、打開app.config,進行以下設置spa
<?xml version="1.0" encoding="utf-8"?> <configuration> <!--<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/> </startup>--> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net> <!--定義輸出到文件中--> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--定義文件存放位置--> <file value="Log\\Error\\"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/> <staticLogFileName value="false"/> <param name="MaxSizeRollBackups" value="100"/> <layout type="log4net.Layout.PatternLayout"> <!--每條日誌末尾的文字說明--> <!--輸出格式--> <!--樣例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info--> <conversionPattern value="%newline %n記錄時間:%date %n線程ID:[%thread] %n日誌級別: %-5level %n出錯類:%logger property: [%property{NDC}] - %n錯誤描述:%message%newline %n"/> </layout> </appender> <root> <level value="ERROR"/> <!--文件形式記錄日誌--> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net> </configuration>
以上設置中線程
<file value="Log\\Error\\"/>
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/>
表明生成路徑及格式爲:Log\\Error\\yyyy\\yyyyMM\\yyyyMMdd.txt
若有須要,可自行修改。
3、WPF:在項目中找到Properties文件夾中找到AssemblyInfo.cs ,設置log4net
Winform:在項目中找到Program.cs,在Main函數中設置log4net
WPF:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Winform:
log4net.Config.XmlConfigurator.Configure();
以上是Winform程序和WPF程序使用log4net的惟一區別點。
4、創建調用對象。建log類。日誌
public static class LogTools { /// <summary> /// 用來記錄error和warn /// </summary> public static log4net.ILog ErrorWarnLog = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); }
5、程序中應用案例code
有個地方要注意,調用方式是LogTools.ErrorWarnLog.Error(e),不是LogTools.ErrorWarnLog.Error(e.Message),一開始我是錯誤的寫法,記錄的Error信息異常,致使我找了半天,在此提醒下你們。orm
/// <summary> /// 線程工做步驟 /// </summary> private void Working() { try { while (true) { //線程步驟,略 } } catch (Exception e) { LogTools.ErrorWarnLog.Error(e); } }
6、log信息xml
完~對象