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参照のこと。

参考

RESTライク(HTTP/XML)なアプリケーション構築を実現 Java、PHP、Ruby、Python、Perl、JavaScript、VTL対応。
わずらわしい設定ファイルから解放された高機能フレームワークCakePHP─簡単なインストールとライブラリ非依存で学習も容易。MVCの基本を身につけるうえで最適の... 続き
本書はオープンソース仮想化技術「Xen」についての解説書。XenはPC上で仮想マシンを稼動させるハイパーバイザで、複数のOSが1つのハードウェアを共有できるよう... 続き

コメントする


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

Mike Cohn (著), マイク コーン (著), 安井 力 (翻訳), 角谷 信太郎 (翻訳)
採用した現在のタイトルは、見積りや計画づくりといったプロセスを、アジャイルに進めなければならないと謳っているのだ。見積りと計画づくりがアジャイルでないのに、プロジェクトがアジャイルであるということはありえない。

メアリー・ポッペンディーク (著), トム・ポッペンディーク (著), 高嶋 優子 (翻訳), 天野 勝 (翻訳), 平鍋 健児 (翻訳) 「トヨタ生産方式」を源流にする「リーン開発」をソフトウエア開発に取り入れるための具体的方法を紹介した本です。製造分野から始まったリーン活動は、その原則を理解しないままプラクティスだけを開発分野に適用しようとしても、行き詰るか失敗に終わってしまいます。本書は、リーンの7大原則を「価値」「ムダ」「スピード」「人」「知識」「品質」「パートナー」に整理し、ソフト開発現場にどうしたら効果的に適用できるかを、多くの実例を交えながら具体的に説明します。

著者:Yugui 税込 2,310 円
本書は、他言語でのプログラミング経験を持つ人を対象に、Rubyの特徴、Rubyならではの方法や慣習について解説します。これはRubyの資料を読んで実践的な学習を進めていくために必要な前提知識です。本書はRubyの基礎的な部分とメタクラスやブロック構文のような独自の概念、それらにまつわる文化を説明し、Ruby特有の考え方を知ってもらうことを目的としています。

本書は、Railsの入門からリファレンスまでをわかりやすく解説した書籍です。第1部と第2部では、Railsの背景にある概念について説明し、あっという間に簡単なオンラインストアを開発してみせます。

著者:James Shore, Shane Warden アジャイル開発は人のなせる技である。アジャイル開発を極めるためには、その時々で無数の可能性を評価して最善の方策を選択することを学ぶ必要がある。本書は、あなたがアジャイル開発の「道」を極める手助けをしたい。

daipresents!! ҂̑蕨

tWn{github tWn{Google Code