log4j log4j2區(qū)別 org.slf4j和log4j的區(qū)別?
org.slf4j和log4j的區(qū)別?slf4j是日志的接口(只定義了一些方法而沒有去實現(xiàn)),和commons-logging一樣。而log4j是具體的實現(xiàn)(即怎么來打印日志等),和logback是一
org.slf4j和log4j的區(qū)別?
slf4j是日志的接口(只定義了一些方法而沒有去實現(xiàn)),和commons-logging一樣。
而log4j是具體的實現(xiàn)(即怎么來打印日志等),和logback是一樣的。slf4j-api,slf4j-log4j12以及l(fā)og4j之間什么關(guān)系?
log4j是具體的日志系統(tǒng),實現(xiàn)日志功能的,slf4j-log4j12是slf4j和log4j的中間適配器,slf4j-api類似是一個自定義的日志接口集合,用戶可以通過slf4j-api自行實現(xiàn)不同的日志類型,綁定不同的程序,而具體的日志實現(xiàn)就看log4j了
如何配置SLF4J不同的日志實現(xiàn)?
SLF4J是一套簡單的日志外觀模式的Java API,幫助在項目部署時對接各種日志實現(xiàn)。		
 
LogBack在運行時使用JMX幫助修改日志配置,在生產(chǎn)狀態(tài)下無需重啟應(yīng)用程序。		
 
 
SLF4J是簡單的日志外觀模式框架,抽象了各種日志框架例如Logback、Log4j、Commons-logging和JDK自帶的logging實現(xiàn)接口。	
它使得用戶可以在部署時使用自己想要的日志框架。SLF4J是輕量級的,在性能方面幾乎是零消耗的。		
 
SLF4J沒有替代任何日志框架,它僅僅是標準日志框架的外觀模式。
如果在類路徑下除了SLF4J再沒有任何日志框架,那么默認狀態(tài)是在控制臺輸出日志。		
 
 
Logback是Log4j的改進版本,而且原生支持SLF4J(因為是同一作者開發(fā)的),因此從其它日志框架如Log4j或JDK的logging遷移到Logback是完全可行的。	
 
由于Logback原生支持SLF4J,因此Logback+SLF4J的組合是日志框架的最佳選擇,比SLF4J 其它日志框架的組合要快一些。而且Logback的配置可以是XML或Groovy代碼。
注意一個重要的特性,Logback通過JMX修改日志配置(比如日志級別從Debug調(diào)整到INFO),可以從JMX控制臺直接操作,無需重啟應(yīng)用程序。
log4j的fileappender參數(shù)怎么設(shè)置?
剛好最近在研究log4j的東西,首先你要知道ibatis底層使用的日志記錄框架,是否需要和log4j進行適配,hibernate底層的日志框架類型就是slf4j,所以需要slf4j—log4j.jar來進行橋接,然后需要在你的log4j配置文件配置ibatis的logger. 配置方法參考1樓,需要注意的問題就是日志級別。