Javaにおけるロギング

| コメント(0) | トラックバック(0)

javaでログを吐き出す時ってみんなどうやっているのだろう?log4jとか言うライブラリをよく目にするが、実際に使ったことはないしなぁ...。

てな感じで最近のjava界隈におけるロギングについて気になったので調べてみることにした。


そもそもjava.util.loggingなんていうソレっぽいパッケージがちゃんとあるじゃん。と思ってこいつについて調べてたらlog4jにフルボッコされていた。(例 JSR47 vs. log4j
(JSRってのはJavaの標準化機関であるJCP:Java Community Processが提案している仕様のこと。java.util.loggingはJSR47の実装。)

調べてみるとJakarta Commons Logging(ログ出力のための汎用インタフェース) + log4jという組み合わせが多い。
Jakarta Commons Loggingはインタフェースの提供が主であり、インタフェースの実装をJakarta Commons Loggingがデフォルトで持っているSimpleLogとlog4jに切り替えできる。(参考:Commons-Loggingをいじる

んじゃさわるならJakarta Commons Logging + log4jかなと思っていたら、最近ちょっと変わったようでslf4j+Logbackという組み合わせに切り替わりつつあるようだ。

先の組み合わせで言うと、slf4jはJakarta Commons Logging。Logbackはlog4jにそれぞれ対応する。
なんか名前から考えると逆じゃねと思うが、slf4jはあくまでインタフェース。
Jakarta Commons Loggingと同様に実装の切り替えができるが、設定ファイル不要でクラスパスの設定だけすればおkってのがすげぇ。よく考えたなこれ。(参考元:slf4jのロガー実装切替えメカニズム)

結論としてはslf4j+Logback、面白そう。
logbackメモとかに使い方がよくまとまってるのでちょっと触っていこうかと思う。

#この調子でフレームワークも...と思ったが、20の頃にStrutsに触れて以来、あまりJavaのフレームワークを追ってなかったので最近のフレームワークの充実っぷりに困惑気味。Javaフレームワークの比較検討資料公開 - 矢野勉のはてな日記を参考にして気が向いたら調べる。

トラックバック(0)

トラックバックURL: https://hoge.sub.jp/blog-cgi/mt/mt-tb.cgi/1685

このブログ記事について

このページは、Lyoが2009年3月27日 01:30に書いたブログ記事です。

ひとつ前のブログ記事は「やらかす」です。

次のブログ記事は「Joel on Software 続編だとー!?」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 7.9.3