Posted on 2015-04-27 15:31
云自無心水自閑 閱讀(1551)
評論(0) 編輯 收藏 所屬分類:
Java 、
心得體會
在一些歷史遺留代碼中,會用到java.util.logging. 如果在新的項目中引用了這些代碼,而又不希望去一個一個的修改原來的代碼。
可以使用slf4j提供的類來轉接這部分的日志輸出。
方法:
1、類路徑中添加
slf4j-api-1.7.10.jar
jul-to-slf4j.1.7.10.jar ( 用于將java.util.logging的日志橋接到slf4j中)
logback-core.1.1.2.jar
logback-classic-1.1.2.jar
2、在代碼中添加:
// Optionally remove existing handlers attached to j.u.l root logger
SLF4JBridgeHandler.removeHandlersForRootLogger(); // (since SLF4J 1.6.5)
// add SLF4JBridgeHandler to j.u.l's root logger, should be done once during
// the initialization phase of your application
SLF4JBridgeHandler.install();
注意事項:
1、這個橋接可以會造成性能問題。
和其他的橋接實現(比如:log4j, commons logging)不同,這個模塊并不真正的完全替代java.util.logging類,因為這個java.util.logging是java自帶的。
所以只是把原來的日志對象進行了轉換,簡單的說,這個轉換過程是有開銷的。
關鍵在于,不管日志語句有沒有根據日志級別被關閉,這個轉換無法避免。
2、不能在類路徑中放入
slf4j-jkd14.jar
jul-toslf4j.jar