使用log4net產生程式執行的log檔
1. 下載安裝log4net,網址:http://logging.apache.org/log4net/
下載接壓縮後,將 log4net.dll 加入參考
或是使用 nuget 下載安裝套件,在 套件管理主控台輸入下列指令
install-package log4net
2. 在專案下建立 log4net.config 檔案,簡易內容如下:
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="LogFiles/"/> <!--存放log檔案的路徑-->
<staticLogFileName value="false"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd'.log'"/> <!--log檔案的命名-->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %date{yyyy/MM/dd HH:mm:ss} %-20c{1} %-20M %m%n" />
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="RollingFileAppender"/>
</root>
</log4net>
3. 加入命名空間
using log4net;
4. Web 可以在 Global.asax 中指定 log4net 的設定檔
string logPath = Server.MapPath("~/log4net.config");
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(logPath));
win form 可以用下面寫法
XmlConfigurator.Configure(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config")); //log4net設定檔
5. 在程式中使用
-- Winform
static ILog logger = LogManager.GetLogger(typeof(Program));
--Webform
static ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
..........略..........
logger.Info("紀錄程式執行資訊");
..........略..........
logger.Error("紀錄程式執行錯誤訊息");