log4jのロギングの階層はどのようになっていますか?
DEBUG
INFO
WARN
ERROR
FATAL
どれが問題をトラブルシューティングするのに役立つ最高のロギングを提供しますか? 誰かがログが最高から最低まで行われる順序または階層を提供できますか? ありがとうございます。
力を使って、ソースを読む(Priority
とLevel
のクラスをコンパイルしたものを抜粋、TRACEレベルはバージョン1.2.12で導入された)。
public final static int OFF_INT = Integer.MAX_VALUE;
public final static int FATAL_INT = 50000;
public final static int ERROR_INT = 40000;
public final static int WARN_INT = 30000;
public final static int INFO_INT = 20000;
public final static int DEBUG_INT = 10000;
public static final int TRACE_INT = 5000;
public final static int ALL_INT = Integer.MIN_VALUE;
や、log4j API for the Level
classを見るとよくわかります。
ライブラリが特定のステートメントを表示するかどうかを決定するとき、責任のある Logger
オブジェクトの有効なレベルを計算し (構成に基づく)、それを LogEvent
'のレベルと比較します (コードでどのメソッドが使用されたかに依存します – trace/debug/.../fatal)。LogEvent'のレベルが
Logger'のレベル以上であれば、
LogEvent`はアペンダーに送信され、 "print"されます。要するに、すべては整数の比較に帰結し、ここでこれらの定数が活躍します。
[【http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html から引用】]
DEBUGは、最も制限の少ないjavaのログレベルで、アプリケーションをデバッグするために必要なすべてを記述する必要があります。このjavaのログモードは、開発およびテスト環境でのみ使用されるべきで、本番環境では使用してはいけません。
INFOはDEBUGよりも制限が多く、サーバーが起動した、受信メッセージ、送信メッセージなどの情報目的のメッセージをINFOレベルのログに記録する必要があります。
WARNは、INFOよりも制限されたレベルで、警告的なメッセージを記録するために使用されます。例えば、クライアントとサーバー間の接続が失われた、データベース接続が失われた、ソケットが限界に達した、などです。これらのメッセージとJAVAログレベルは、JAVAのこれらのログメッセージにアラートを設定し、サポートチームがJAVAアプリケーションの健全性を監視し、この警告メッセージに対応できるようにするため、ほぼ重要です。要約すると、WARNレベルは、Javaのロギングのための警告メッセージを記録するために使用されます。
ERRORは、WARNよりも制限されたJavaのログレベルで、エラーや例外のログに使用され、このJavaのログレベルにアラートを設定して、このメッセージに反応するように監視チームに警告することもできます。ERRORは、Javaのロギングでは重大なものであり、常にプリントする必要があります。
FATALは、非常に深刻なエラー・イベントを指定し、アプリケーションを中断させます。この後、ほとんどの場合、アプリケーションはクラッシュして停止します。
OFF javaのロギング・レベルは、可能な限り最高のランクで、Javaのロギングをオフにすることを意図しています。