logback0.9.11のことはじめ

タグ:

log4jの作者が後継としてlogbackを作っていることを知った。
個人的にlog4jはよくできてるなーと勉強させていただいたので、logbackもさっそく実用できるか検証してみる。

以下の記事には作者の言葉もあって面白い。

発展しつつあるJavaのロギング by InfoQ
LOGBackに切り替える10の理由 by パワポ


動かしてみる


logback manualChapter 1: Introduction to logbackを参考に動かしてみる。

logbackはJDK1.5でビルドされていて、動作には以下のライブラリが必要。

  • slf4j-api.jar
  • logback-core.jar
  • logback-classic.jar

slf4jはcommons-loggingの後継として同じ作者が活動しているもの。個人的にはloggerを挿げ替えることってほとんどないので、いらない気がするんだけど必須みたいだ。
サンプルコードは以下になる。

 public static void main(String[] args) {
     Logger logger = LoggerFactory.getLogger(LogBackSamlpe.class.getName());
     logger.debug("Hello world.");
 }

サンプルではgetLoggerの引数に「"chapter1.HelloWorld1"」とあったので、パッケージ名を含む完全修飾名?がセオリーっぽいのでclass.getNameとしている。他のサンプルでは「TestClass.class」と書いてたりするので、後者のほうが楽。

ログは以下のように出力された。

22:58:10.740 [main] DEBUG c.daipresents.logging.LogBackSamlpe - Hello world.

とっても簡単。


loggerのステータス表示


loggerの状態を出力できるらしい。

 public static void main(String[] args) {
     Logger logger = LoggerFactory.getLogger(LogBackSamlpe.class.getName());
     logger.debug("Hello world.");
     
     // print internal state
     LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
     StatusPrinter.print(lc);
 }
 23:07:30.496 [main] DEBUG c.d.logging.logback.LogBackSamlpe - Hello world.
 23:07:30,325 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
 23:07:30,325 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
 23:07:30,331 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.

アプリ起動時に出すのもアリかなと思う。それよりっも、ログの設定ファイルをテスト時、本番時と自動できりかえることができそうな感じが気になる。これはまた今度調べる。

今回のソースコードはGoogle Code参照のこと。

参考

Movable Typeと人気を二分するCMS「WordPress」の最新バージ... 続き
RESTライク(HTTP/XML)なアプリケーション構築を実現 Java、PHP... 続き
本書はオープンソース仮想化技術「Xen」についての解説書。XenはPC上で仮想マ... 続き

コメントする


画像の中に見える文字を入力してください。

著者:Venkat Subramaniam, Andy Hunt, Shane Warden 税込2,520円
アジャイルの核心となるプラクティスについての、包括的かつ焦点の定まった簡潔な要約。特定のアジャイルな方法論を押し付けるのでなく、いろいろな方法論に共通するプラクティスを結びつけ、首尾一貫した全体像を描き出している。
著者:Yugui 税込 2,310 円
他言語でのプログラミング経験を持つ人を対象に、Rubyの特徴、Rubyならではの方法や慣習について解説。Rubyの基礎的な部分とメタクラスやブロック構文のような独自の概念、それらにまつわる文化を説明し、Ruby特有の考え方を知ってもらうことを目的としている。Ruby1.8及び1.9に対応している。 「BOOK」データベースより
著者:前田剛 税込 2,100 円
RubyonRailsで実施されたWebベースのプロジェクト管理システムRedmaineの解説書。

daipresents!!

҂̑蕨

tWn{github

tWn{Google Code