違いは何であるlogger.debug
とはlogger.info
?
いつlogger.debug
印刷されますか?
回答:
これは、ロギング構成によって異なります。デフォルト値は、使用されているフレームワークによって異なります。後で構成設定をINFOからDEBUGに変更すると、アプリケーション全体を再コンパイルせずに、大量の(またはその逆の場合は少ない)行が出力されるようになります。
どちらを使用するかを考えると、結局、どのレベルで何を見たいかを考えることになります。Log4Jなどの他のレベルについては、API(http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html)を参照してください。
「log4jの簡単な紹介」という記事をご覧になることをお勧めします。ログレベルの簡単な説明が含まれており、実際にどのように使用できるかを示しています。ログレベルの基本的な考え方は、状況に応じてログに含まれる詳細を構成できるようにすることです。たとえば、問題のトラブルシューティングを行う場合は、ログを非常に詳細にする必要があります。本番環境では、警告とエラーのみを表示したい場合があります。
システムの各コンポーネントのログレベルは通常、構成ファイルのパラメーターを介して制御されるため、簡単に変更できます。コードには、さまざまなレベルのさまざまなロギングステートメントが含まれます。に応答するときはException
、を呼び出すことができますLogger.error
。任意の時点で変数の値を出力する場合は、を呼び出すことができますLogger.debug
。プログラム内の構成可能なログレベルとログステートメントのこの組み合わせにより、アプリケーションがそのアクティビティをログに記録する方法を完全に制御できます。
少なくともlog4jの場合、ログレベルの順序は次のとおりです。
DEBUG < INFO < WARN < ERROR < FATAL
これは、ログレベルがどのように機能するかを示すその記事の短い例です。
// get a logger instance named "com.foo"
Logger logger = Logger.getLogger("com.foo");
// Now set its level. Normally you do not need to set the
// level of a logger programmatically. This is usually done
// in configuration files.
logger.setLevel(Level.INFO);
Logger barlogger = Logger.getLogger("com.foo.Bar");
// This request is enabled, because WARN >= INFO.
logger.warn("Low fuel level.");
// This request is disabled, because DEBUG < INFO.
logger.debug("Starting search for nearest gas station.");
// The logger instance barlogger, named "com.foo.Bar",
// will inherit its level from the logger named
// "com.foo" Thus, the following request is enabled
// because INFO >= INFO.
barlogger.info("Located nearest gas station.");
// This request is disabled, because DEBUG < INFO.
barlogger.debug("Exiting gas station search");
If you want to print the value of a variable at any given point, you might call Logger.debug
は、私がDebug
とTrace
レベルの間で持っていた混乱を明らかにするのに役立ちました。ありがとうございました!
考えられるすべてのレベルのセットについての説明です。
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
これは非常に古い質問ですが、ここで私の理解がわからないので、2セントを追加します。
すべてのレベルは、ユーザーのタイプに対応/マップします。
Trace
ログレベルを確認することをお勧めします。