Open6
全てのログをslf4jに寄せていく
ロギングライブラリが無限にある!!!人類は愚か!ボケ!!!
サンプルプロジェクトを参考にしてください。
- slf4jを使ってるライブラリ
- Commons Loggingを使ってるライブラリ
- java.util.Loggingを使ってるライブラリ
- log4j 1.xを直接使ってるライブラリ
- log4j 2.xを直接使ってるライブラリ
があり、全てのログをslf4j + logback-classicで管理したいときの手法。
java.util.loggingをslf4jに接続する
jul-to-slf4j(doc, maven)というものがあり、slf4j用のjulハンドラを設定してくれる。
ドキュメントによれば、 logging.properties でハンドラを設定する方法があるらしいが、なぜか動かなかった。
logging.properties
// register SLF4JBridgeHandler as handler for the j.u.l. root logger
handlers = org.slf4j.bridge.SLF4JBridgeHandler
アプリケーションの先頭でハンドラを設定するメソッドを呼べば正常に動く。
def main(args: Array[String]): Unit = {
org.slf4j.bridge.SLF4JBridgeHandler.removeHandlersForRootLogger()
org.slf4j.bridge.SLF4JBridgeHandler.install()
// ...
}