logo

Log4J ログレベル

ログ レベルは、ログ ファイル内のエントリを分類するために使用されます。しかし、それらは非常に具体的な方法、つまり緊急度によって分類されます。レベルを使用すると、次の種類の情報を分離できます。

  • 検索中にログ ファイルをフィルタリングできます。
  • ログに記録する情報の量を管理できます。

システムに提供される情報の量と種類、およびイベント ログは、構成ファイルの log4j レベル設定によって制御されます。各ログ メッセージには、メッセージのレベルが接頭辞として付けられます。

ログレベルは次の例です。 org.apache.log4j.レベル クラス。

Log4j には次のレベルのロギングがあります。

ログレベル 説明
全て このレベルでは、すべてのレベルのログ記録がオンになります。これには、定義したカスタム ログ レベルが含まれます。これが構成され、レベルがまったく考慮されなくなると、すべてのアペンダーがログ イベントをログ ファイルに書き込み始めます。
デバッグ デバッグは、開発時にアプリケーションをデバッグするためによく使用されます。このレベルが設定されると、すべてのログ メッセージがログ ファイルに表示されます。基本的には開発者のものです。
情報 INFO ログ レベルは、日常的なアプリケーション操作に関するメッセージを記録するために使用されます。システム管理者はリアルタイムで情報ログを監視し、システムで現在何が起こっているか、通常のフローに問題があるかどうかを確認します。
警告 WARN ログ レベルは、問題がある可能性があること、および異常な状況が検出されたことを示すために使用されます。おそらく、サービスの呼び出しを要求していて、自動再試行で接続する前に数回失敗した可能性があります。これは予期せぬ異常なことですが、実害はなく、問題が継続するか再発するかは不明です。誰かが警告を調査する必要があります。
エラー ERROR ログ レベルは、直ちに調査する必要がある重大な問題を示すために使用されます。 FATAL ほど深刻ではありませんが、依然として問題です。これは単に、アプリケーションが本当に望ましくない状態に陥ったことを意味します。たとえば、予期しないフォーマットの入力、データベースの利用不能などです。
致命的 FATAL ログ レベルは、ERROR と同様に問題を示します。ただし、ERROR とは異なり、非常に重大なエラー イベントを示します。普段はその存在をあまり気にすることはありませんが、ひとたび出現すると、それは非常に悪い知らせ、さらには死の兆候を示します。
オフ これは可能な限り最高のランクであり、ログをオフにすることを目的としています。
痕跡 これは最近バージョン 1.2 で導入され、デバッグ レベルのログに対するより多くの情報が含まれています。

ログレベルを設定するにはどうすればよいですか?

log4j.propertiesでログレベルを設定する

 log4j.rootLogger=DEBUG, consoleAppender log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n #Log info messages for package 'com.javatpoint.web.controller' log4j.logger.com.javatpoint.web.controller=INFO, consoleAppender 

log4j.xmlでログレベルを設定する

 

ログレベルはどのように機能しますか?

ログレベルの仕組みは実際には非常に簡単です。実行時に、アプリケーション コードはレベルを持つロギング リクエストを作成します。同時に、ログ フレームワークには、しきい値として機能するログ レベルが設定されています。リクエスト レベルが設定されたレベル以上の場合、設定されたターゲットにログが記録されます。そうでない場合は拒否されます。それはとても簡単です。

これを次のレベルのランク順として考えてみましょう。

 ALL <trace < debug info warn error fatal off pre> <p>So if, for instance, the logging framework level is set to WARN, requests with any of the levels WARN, FATAL, and ERROR will be accepted, while the rest will be denied.</p> <img src="//techcodeview.com/img/log4j-tutorial/51/log4j-logging-levels.webp" alt="Log4J Logging Levels"> <p>In the above diagram, the vertical header displays the Level of the LogEvent, while the horizontal header shows the Level associated with the appropriate logging configuration.</p> <p>For the first column, you will see how the log works in each level. For example, for WARN, (FATAL, ERROR, and WARN) will be visible. For OFF, nothing will be visible.</p> <h3>Log4j Level Example</h3> <p> <strong>Configuration File:</strong> </p> <pre> # Define the root logger with appender file log = /usr/home/log4j log4j.rootLogger = WARN, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n </pre> <p> <strong>Java Program:</strong> </p> <pre> import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace(&apos;Trace Message!&apos;); log.debug(&apos;Debug Message!&apos;); log.info(&apos;Info Message!&apos;); log.warn(&apos;Warn Message!&apos;); log.error(&apos;Error Message!&apos;); log.fatal(&apos;Fatal Message!&apos;); } } </pre> <p>Now compile and run the above program and we would get the following output in c:/usr/home/log4j/log.out file:</p> <pre> Warn Message! Error Message! Fatal Message! </pre> <hr></trace>

Java プログラム:

 import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace(&apos;Trace Message!&apos;); log.debug(&apos;Debug Message!&apos;); log.info(&apos;Info Message!&apos;); log.warn(&apos;Warn Message!&apos;); log.error(&apos;Error Message!&apos;); log.fatal(&apos;Fatal Message!&apos;); } } 

上記のプログラムをコンパイルして実行すると、c:/usr/home/log4j/log.out ファイルに次の出力が得られます。

 Warn Message! Error Message! Fatal Message!