http://logback.qos.ch/manual/architecture.htmlLogger, Appender and Layout
-------------------------------------------------------
Logger:
Logger繼承關(guān)系:
com.foo是com.foo.Bar的雙親(parent),同時也是其祖先(ancestor)
java是java.util.Vector的祖先,但不是其雙親。
root Logger是所有l(wèi)ogger的祖先,可以這樣獲取:
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,只要參數(shù)一致,那么獲取到的logger也一致。
即使先創(chuàng)建子logger,再創(chuàng)建雙親logger,后者也會正確的插到logger樹上。
-------------------------------------------------------
Appenders and Layouts:
一個logger可以綁定多個appender。
默認情況:每一個日志請求,會被發(fā)送到logger對應(yīng)的所有Appender,以及更高層logger對應(yīng)的所有appender上。
如果把某個logger的additivity標志設(shè)為false,那么這個logger會記錄自身和下層(孫子logger)的日志,但不會再向上傳遞——也就是把下層的logger的日志攔截到了當前這一層logger為止了。
PatternLayout控制輸出的格式,類似C語言的printf格式。
-------------------------------------------------------
參數(shù)化記錄日志:
與slf4j完全相同
-------------------------------------------------------
日志記錄的調(diào)用時序圖:
