log4net配置學習 之 日誌等級

Logger hierarchy(層次級別)

 

Logger都是已經命名的實體。

 

Logger的名稱區分大小寫並遵循以下規則:

1、如果A logger的名稱如果是B logger名稱的前綴(通過“.”連接),則說A logger是B logger的祖父級。

2、如果A logger的名稱和B logger的名稱之間不存在其他的logger名稱,則A logger是B logger的父級。

        例子:A logger名稱爲“Foo.Bar”,B logger名稱爲“Foo.Bar.Baz”,A爲B的父級。名稱爲“System”的logger是名稱爲“System.Text.StringBuilder”的祖父級。

Root logger位於logger層次級別中的頂級。

 

它有例外的三條規則:

1、Root logger總是存在的。

2、Root logger不能通過名稱或取。

3、Root logger 有一個默認的Level 值爲 Debug。

 

Logger 可以通過log4net.LogManager類的靜態方法GetLogger獲取。

Level值:ALL/DEBUG/INFO/WARN/ERROR/FATAL/OFF

 

Level 繼承規則:如果一個logger沒有定義Level,它的Level值將從它的父級(定義了Level)繼承。

 

日誌紀錄請求通過調用logger實例的輸出方法實現。

這些輸出方法有Debug,Info,Warn,Error和Fatal。

通過定義,輸出方法決定了日誌紀錄請求的Level。

例如,log是一個logger實例,那麼語句log.Info(“..”)的日誌紀錄請求Level爲INFO。 如果日誌紀錄請求的Level比logger本身定義(或繼承)的Level高,則請求是可行的,否則不可行。

簡單規則:如果日誌記錄請求的Level爲L,logger本身定義(或繼承)Level爲K,當L>=K時,日誌紀錄請求是可行的。

 

Level級別:DEBUG <INFO<WARN<ERROR<FATAL

 

通過名稱,調用log4net.LogManager.GetLogger方法,可以獲取同一個logger的實例引用。

這樣在配置了一個logger後,不用在代碼中傳遞引用而可以獲取同一個logger的引用了。

與生物上的親子關係(父親總是先於孩子)基本相反,在log4net 裏,logger可以被創建和配置成任何順序。

特別的是,一個父級logger可能比子級logger後實例化,但卻可以在子級中查找到。


引用:http://blog.csdn.net/hu8hong9/article/details/2799199

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章