ホームページ  >  記事  >  Java  >  log4j を使用して、ログ レベルとターゲット クラスに基づいて内容が異なる複数のログ ファイルを作成するにはどうすればよいですか?

log4j を使用して、ログ レベルとターゲット クラスに基づいて内容が異なる複数のログ ファイルを作成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 03:45:28796ブラウズ

How can log4j be used to create multiple log files with varying content based on logging levels and target classes?

log4j によるログの柔軟性: 可変コンテンツを持つ複数のログ ファイルの構成

log4j によるログの領域では、多用途かつ対象を絞ったログ ファイルが必要です。ロギングメカニズムが頻繁に発生します。このようなシナリオの 1 つは、複数のログ ファイルの作成を含み、各ログ ファイルには特定のターゲット クラスの異なるレベルのログ情報が含まれます。

Log4j の構成可能なログ レベル

これを実現するには、log4jは、それぞれが特定のしきい値レベルで定義された複数のアペンダーを構成する機能を提供します。しきい値レベルは、アペンダーが処理する最小ログ レベルを決定します。異なるしきい値レベルを設定すると、重大度に基づいてログ メッセージを異なるアペンダにルーティングできます。

複数のログ ファイルの作成

たとえば、INFO 以上をすべてキャプチャするにはメッセージを 1 つのログ ファイルに保存し、クラスのサブセットのすべての DEBUG メッセージを別のファイルに保存する場合は、次の log4j 設定を構成できます:

log4j.rootLogger=QuietAppender, LoudAppender, TRACE

この行はルート ロガーを定義します。これは、特定のロガー設定によってオーバーライドされない限り、すべてのクラスに適用されます。 INFO 以上のメッセージには「QuietAppender」、DEBUG 以上のメッセージには「LoudAppender」、すべてのメッセージには「TRACE」 (特別なアペンダについては後述します) という 3 つのアペンダが割り当てられます。

log4j.appender .QuietAppender=org.apache.log4j.RollingFileAppender

log4j.appender.QuietAppender.Threshold=INFO

log4j.appender.QuietAppender.File =quiet.log

QuietAppender は、INFO および上記のメッセージを「quiet.log」ファイルに追加するように構成されています。

log4j.appender.LoudAppender=org.apache .log4j.RollingFileAppender

log4j.appender.LoudAppender.Threshold=DEBUG

log4j.appender.LoudAppender.File=loud.log

LoudAppender は、DEBUG 以降のメッセージを「loud.log」ファイルに追加するように構成されています。

log4j.logger.com.yourpackage.yourclazz=TRACE

この行は、「com.yourpackage」パッケージ内の特定のクラスのカスタム ロガーを追加します。これは、ルート ロガー構成をオーバーライドし、しきい値を TRACE に設定し、ルート ロガーまたはアペンダーに設定されたしきい値レベルに関係なく、このクラスのすべてのメッセージがログに記録されるようにします。

これらの構成を組み合わせることで、次のことを実現できます。重大度とターゲット クラスに基づいてロギング メッセージを分離し、特定のユースケースに対応するためにさまざまな内容を持つ複数のログ ファイルを作成する、カスタマイズされたロギング機能。

以上がlog4j を使用して、ログ レベルとターゲット クラスに基づいて内容が異なる複数のログ ファイルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。