これはばかげた質問かもしれませんが、Java Loggerで少し迷っています。
private static Logger logger = Logger.getLogger("order.web.OrderManager");
logger.info("Removed order " + id + ".");
ログはどこで見ることができますか?また、Java.util.logging.Loggerライブラリからの次の引用:
各ロギング呼び出しで、ロガーは最初に、ロガーの有効なログレベルに対してリクエストレベル(たとえば、SEVEREまたはFINE)の安価なチェックを実行します。要求レベルがログレベルより低い場合、ロギングコールはすぐに戻ります。
この最初の(安価な)テストに合格すると、LoggerはLogRecordを割り当てて、ロギングメッセージを記述します。次に、Filter(存在する場合)を呼び出して、レコードを公開する必要があるかどうかのより詳細なチェックを行います。それが成功した場合、LogRecordを出力ハンドラーに公開します。
これは、3つのrequest level
ログがある場合、次のことを意味しますか?
logger.log(Level.FINE, "Something");
logger.log(Level.WARNING, "Something");
logger.log(Level.SEVERE, "Something");
そして、私のlog level
は重大であり、3つのログすべてを見ることができ、log level
が警告である場合、重大なログを見ることができません、それは正しいですか?そして、どのようにlog level
を設定しますか?
ログはどこに表示されますか?
実際のログハンドラー構成に応じて、ログファイルまたは標準出力で。これは、プロパティファイルを介して、またはロギングAPIを介して直接設定できます。
これは、3つのリクエストレベルのログがある場合...
SEVERE
は、最も重要な(最高の優先度)であり、FINE
は、例に示されている3つの中で最も重要度の低いメッセージタイプです。したがって、ログレベルがSEVERE
の場合、SEVERE
メッセージのみがログに記録されます。レベルがFINE
の場合、3つのメッセージすべてがログに記録されます。
これは、実際の実稼働環境でエラーと警告のみをログに記録する場合(非常にまれですが、それらについて知りたい場合)にログレベルをWARNING
。ただし、開発環境では、たとえば問題をデバッグする場合、大量のログデータが作成され、アプリケーションの速度が低下する場合でも、ログ内のすべての情報を表示する必要があります。したがって、ログレベルをFINE
またはFINEST
に設定します。
良い Java Logging の紹介です。
更新:レベルFINEST
のファイルにログを記録するようにロガーを設定する上記ページの簡単な例:
Handler fh = new FileHandler("%t/wombat.log");
Logger.getLogger("").addHandler(fh);
Logger.getLogger("com.wombat").setLevel(Level.FINEST);
コンソールにログインするには、上記のFileHandler
をConsoleHandler
に置き換えます。
Handler ch = new ConsoleHandler();
Logger.getLogger("").addHandler(ch);
ただし、これは単なる例です。実際のアプリでは、構成プロパティファイルを使用してログを構成することをお勧めします。
Java TM Logging Overview は、Java Logger
:
Handler
に関連付けられたLogger
(s)がログを生成するログが表示されます(Console
またはStream
内)。 。)。
デフォルトの構成では、コンソールに出力を送信するためのルートロガー上に単一のハンドラーが確立されます。
ログレベル:
各ログメッセージには、ログレベルが関連付けられています。レベルは、ログメッセージの重要性と緊急性に関する大まかなガイドを提供します。ログレベルオブジェクトは整数値をカプセル化し、値が大きいほど優先度が高いことを示します。
Level
クラスは、FINEST
(最低の優先度、最低の値)からSEVERE
()までの7つの標準ログレベルを定義します。最高の優先順位、最高の値)。
それがどこに行くかは、設定に依存します。これについての詳細は、APIドキュメントにあります。ログレベルは、あなたが言ったこととまったく逆です。 FINE
の構成がある場合は、FINE, WARNING, SEVERE
が表示されますが、SEVERE
に設定している場合は、それらのみが表示されます。
一般に、デバッグ中はFINE
を使用し、実稼働環境にある場合はSEVERE
に切り替える必要があります。