log4net配置學習 之 日誌等級

Logger hierarchy(層次級別)ide

 

Logger都是已經命名的實體。ui

 

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

一、若是A logger的名稱若是是B logger名稱的前綴(經過「.」鏈接),則說A logger是B logger的祖父級。日誌

二、若是A logger的名稱和B logger的名稱之間不存在其餘的logger名稱,則A logger是B logger的父級。blog

        例子:A logger名稱爲「Foo.Bar」,B logger名稱爲「Foo.Bar.Baz」,A爲B的父級。名稱爲「System」的logger是名稱爲「System.Text.StringBuilder」的祖父級。繼承

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

 

它有例外的三條規則: it

一、Root logger老是存在的。class

二、Root logger不能經過名稱或取。配置

三、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

相關文章
相關標籤/搜索