oinume journal

Scratchpad of what I learned

logback-test.xmlを使ってログレベルを変更する

Javalogbackというlog4jに代わるロギングライブラリがあって、これのちょっとしたTIPS。

 

本番環境ではなく、ローカルマシンでの開発時のアプリケーションのlogback.xmlでは、下記のようにログレベルをdebugにしているとする。

 

 

 

 

%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n

 

 

 

 

 

 

 

 

で、例えばDBへのクエリをdebugレベルでログ出力している場合、人によっては「DBのクエリの出力はうざいから止めたい」というケースがたまにある。logback.xmlでレベルをdebug -> infoにしてもいいんだけど、間違ってコミットしちゃった場合に回りの人に迷惑がかかる。そういう場合はCLASSPATHが通っているところに logback-test.xml というファイルを作っておいて、上のXMLのlevelの部分を debug -> info にする。

 

 

 

 

 

 

 

これでlogback.xmlを直接編集しなくてもアプリケーションのログレベルをinfoにできる。具体的には

 

 

 

 

  • ない場合はlogback.xmlをロードを試みる

 

 

という仕様になっているので(参考: Chapter3: Logback configuration & Joran)、logback-test.xml作るとこっちを先に読んでくれるというわけ。

 

これで自分の見たい情報にフォーカスできる。でも絶対もっとうまいやり方がありそう...

 

おまけ

なお、上の参考リンクに「Maven使ってて src/test/resources/ 配下の logback-test.xml は artfifactからは除外される」と書いてあったんだけど、Maven 2.2.1で試した限り除外されなかった。なんでだろう...

 

[tmkm-amazon]4894717166[/tmkm-amazon]