|
log4net |
| (史帝芬, 2006/07/01, hi.steven@gmail.com) |
使用Java開發程式的人多半用過log4j,
也多半對於log4j的小巧好用留下深刻的印象,現在log4j有了.net版了! 這就是本篇要介紹的主題。
本篇內容主要由任職於 H 銀行的 Alex Chou 與小弟合力完成,小弟將它整理後放置於網站上供網友參考。
在繼續往下看之前當然要先到官方網站上下載log4net,官方網站網址在 http://logging.apache.org/log4net/, 在網站上應該可以找到類似incubating-log4net-1.2.10.zip檔名的下載檔,下載後解開, 找到名為log4net.dll的檔案,將它加入專案中的參考。底下有兩個範例程式及其說明。
<log4net>
<!-- 輸出到Console -->
<appender name="A1" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger - %message%newline" />
</layout>
</appender>
<!-- 輸出到檔案 -->
<appender name="A2" type="log4net.Appender.RollingFileAppender">
<file value="d:/logfile.log" /> <!-- 輸出檔名 -->
<appendToFile value="true" />
<maximumFileSize value="2048KB" /> <!-- 每個檔案最大size -->
<maxSizeRollBackups value="5" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HHmm" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %logger (%file:%line) - %message%newline" />
</layout>
</appender>
<root>
<!-- 輸出訊息等級 -->
<level value="INFO" />
<appender-ref ref="A1" />
<appender-ref ref="A2" />
</root>
</log4net>
2006-07-01 20:59:32,437 INFO Log4Net.Program - Entering application. 2006-07-01 20:59:32,468 FATAL Log4Net.Bar - Fatal 2006-07-01 20:59:32,468 INFO Log4Net.Program - Exiting application.
INFO Log4Net.Program
(D:\Project\CS\Log4Net\Log4Net\Program.cs:26) - Entering application.
FATAL Log4Net.Bar
(D:\Project\CS\Log4Net\Log4Net\Program.cs:14) - Fatal
INFO Log4Net.Program
(D:\Project\CS\Log4Net\Log4Net\Program.cs:29) - Exiting application.
註2: 特別注意LogManager.GetLogger的參數,一定要是所在的class,這樣輸出的訊息才能正確 指出是由那一個class輸出的。 註3: 載入設定檔。 註4: 輸出訊息,訊息有五種等級由低而高為Debug、Info、Warn、Error、Fatal,訊息要輸出那一 等級的訊息,由<root>裡的<level>設定,上面的設定檔設為INFO,則所有大於等於INFO的訊息 都會輸出。 除了上述四項外,請各位網友注意一下Console輸出和檔案輸出的格式不同,這可由<appender>中設定。 看完第一個範例程式基本上就可以運用在大多數的專案中了,底下第二個範例則要解說, 當輸出訊息很多,不適合全部輸出到同一個檔案時,如何將訊息依class輸出到不同檔案。
|