logback_doc_manual_02_architecture
http://logback.qos.ch/manual/architecture.html
Logger, Appender and Layout
-------------------------------------------------------
Logger:
Logger繼承關系:
com.foo是com.foo.Bar的雙親(parent),同時也是其祖先(ancestor)
java是java.util.Vector的祖先,但不是其雙親。
root Logger是所有logger的祖先,可以這樣獲取:
Logger rootLogger = LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
日志級別,在ch.qos.logback.classic.Level中,有TRACE, DEBUG, INFO, WARN and ERROR
日志級別類是final的,如果想擴展,可以用Marker類。
如果一個logger沒有指定級別,那么它繼承最近的祖先的級別。
root Logger默認是debug級別。
日志級別:TRACE < DEBUG < INFO < WARN < ERROR.
如果日志記錄請求——例如logger.info()——的級別大于等于其logger的級別,那么該請求生效。
使用LoggerFactory.getLogger(String param)獲取的logger,只要參數一致,那么獲取到的logger也一致。
即使先創建子logger,再創建雙親logger,后者也會正確的插到logger樹上。
-------------------------------------------------------
Appenders and Layouts:
一個logger可以綁定多個appender。
默認情況:每一個日志請求,會被發送到logger對應的所有Appender,以及更高層logger對應的所有appender上。
如果把某個logger的additivity標志設為false,那么這個logger會記錄自身和下層(孫子logger)的日志,但不會再向上傳遞——也就是把下層的logger的日志攔截到了當前這一層logger為止了。
PatternLayout控制輸出的格式,類似C語言的printf格式。
-------------------------------------------------------
參數化記錄日志:
與slf4j完全相同
-------------------------------------------------------
日志記錄的調用時序圖:


posted on 2014-07-13 18:55 王星游 閱讀(233) 評論(0) 編輯 收藏 所屬分類: java