The log4j project

Log4j Project

より深く

その他のプロジェクト

その他

はじめに

JSR47 APIへ物申すキャンペーンに参加しよう。


ログ文をあなたのコードに挿入するというのは、 デバックするためのローテクな方法です。デバッガが利用できなかったり 適用できないため、それが唯一の方法であるかもしれません。 これは、配布されたアプリケーションではよくあることです。

一方で、一部の人々は、 ログ文がソースコードを汚染してしまうため、読みにくしてしまうと論じます。 (我々は、そうではないと思っています)。 プリ・プロセッサが利用できないJava言語では、ログ文は、 コードのサイズを増加させ、ログ記録をオフにしても、その実行速度を低下させます。 何千ものログ文を含んだ適当なサイズのアプリケーションは、速度は 特に重要性が与えられます。

log4jでは、バイナリの アプリケーションを修正することなく、実行時のログを記録することを可能にします。 log4jパッケージは、出荷されたコードに対して重たいパフォーマンスコストを 負うことが無いように設計されました。 ログ記録の振る舞いは、バイナリのアプリケーションを触ることなく、 設定ファイルを編集することによって制御することができます。

ログ記録は 開発者にアプリケーションが失敗したときのための詳細なコンテキストを 装備します。一方、テストは品質保証とアプリケーションに対する信頼を 提供します。ログ記録とテストとを混同してはいけません。それらは 相補的です。ログ記録を賢く使用すれば、それが必須のツールであることが 分かります。

log4jの特徴的な 機能のうちの一つは、カテゴリーの中の継承の概念です。 カテゴリー階層を使うことで、どのログ文を出力するかを 任意に洗練された粒度で、たいへん容易に制御することが可能になります。 これは、ログ記録の出力のボリュームを減らして、 ログを記録するためのコストを最小にするのに役立ちます。

ログの出力先は、ファイル、OutputStreamjava.io.Writer、 リモートlog4jサーバ、リモートUnix Syslogデーモン、NTイベントログです。

JDK 1.1.7Bを実行している 233MHzのThinkPad上で、その文が記録されなければならないかどうか決定するのに およそ46ナノ秒かかります。実際のログ記録もとても速く、SimpleLayoutを使用し たときには、79マイクロ秒から、TTCCLayoutを使用した164マイクロ秒の範囲で、 例外を出力するときおよそ1ミリ秒です。 PatternLayoutのパフォーマンスは、ほとんど専用のパターンと同じ ぐらい良いですが、これはより柔軟です。

パッケージは ユーザからのフィードバックのおかげで絶えず改善されています。 そしてコードはコミュニティで著者によって貢献されています。



Copyright © 1999-2001, Apache Software Foundation