標籤:詳細 官方 生日 郵件 組織圖 log4j 擴充 amp 入門
Log4net是阿帕奇基金會的非常流行的開源日誌組件,是log4j的.NET移植版本,至今已經有11年的曆史,使用方便並且非常穩定,此外很重要的一點是其和很多開源組件能很好的組合在一起工作,例如NHibernate等。對於以本地日誌為主的中小型的項目,Log4net已經足夠使用,當然涉及跨平台的大型分布式系統可以選擇Elmah等其他日誌組件。
在這裡,主要介紹log4net的一些關鍵知識點,詳細內容可見以下連結:
- 官方配置文檔:http://logging.apache.org/log4net/release/config-examples.html
- 老博主摩詰在10年前就做了很仔細的解釋:http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html
- 博主每日一bo非常仔細的文檔:http://www.cnblogs.com/caokai520/p/4387491.html
首先是log4net的四個對象:
- Logger記錄器:用於產生日誌,包括Fatal、ERROR、WARN、INFO、DEBUG,可以通過設定logger的記錄層級進行設定,例如level=INFO,那麼除了DEBUG層級的資訊,其他FATAL、ERROR、WARN、INFO等層級都將被記錄。
- Reposity庫:維護日誌對象的組織圖,主要用於對架構的擴充,一般使用不用關注。
- Appender附著器:用於設定Log的輸出模式,如檔案、資料庫、郵件等。
- Layout布局:設定日誌資訊的格式。
其中Appender的選擇很多,但最常見的最有實際意義的分別是:
log4net.Appender.RollingFileAppender:通過配置,可以達到記錄檔每天以日期建立一個,方便查看,還可以設定記錄檔大小,防止侵佔硬碟。
log4net.Appender.SmtpAppender:用於FATAL、ERROR等高危層級的日誌,直接發郵件給項目責任人,非常的方便有效。
log4net.Appender.AdoNetAppender:和SQL SERVER很緊密的結合,便於將重要日誌資訊記入資料庫,便於尋找和備份。
最後,想說的是log4net組件可以通過配置LockingModel設定並發時記錄檔鎖的模式,使其應用情境得到很大的擴充。
附上一個簡單日誌配置例子作為參考,具體設定時有什麼問題歡迎一起探討哈,:) :
View Code
快速入門系列--Log4net日誌組件