ホームページ >Java >&#&チュートリアル >異なるログ レベルを個別のアペンダーとログ ファイルに送信するように Log4j を構成するにはどうすればよいですか?

異なるログ レベルを個別のアペンダーとログ ファイルに送信するように Log4j を構成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-29 17:29:02906ブラウズ

How can I configure Log4j to send different logging levels to separate appenders and log files?

Log4j を使用したさまざまなレベルとコンテンツのロギング

質問:

log4j は次のように構成できますか異なるロギングレベルを別々のアペンダーに指示しますか?目標は、特定の内容を含む複数のログ ファイルを作成することです。たとえば、メイン ログですべての INFO 以上のメッセージを捕捉し、別のログで選択したクラスのグループのみの DEBUG メッセージを捕捉するなどです。

回答:

複数のログ ファイル用に Log4j を構成する

Log4j では、アペンダーを介して複数の宛先にログをカスタマイズできます。目的の構成を実現するには:

  1. 複数のアペンダーを定義する: まず、ログの種類ごとに個別のアペンダーを作成します。適切なファイル属性を割り当てて、ログ ファイルの保存先を指定します。各アペンダーのロギング レベルを制御するためのしきい値を設定します (例: メイン ログの情報と特定のクラスの DEBUG)。
  2. ルート ロガーの構成: rootLogger オプションは、すべてのロギングが最初に行われる場所を決定します。送信済み。前に作成したアペンダーにログを送信するように設定します。
  3. ロガー レベルの設定: log4j.logger プロパティを使用して、さまざまなクラスまたはパッケージに特定のログ レベルを設定します。これにより、クラスごとにログに記録される詳細レベルを選択的に制御できます。

構成例:

log4j.rootLogger=QuietAppender, LoudAppender, TRACE
# setup main log
log4j.appender.QuietAppender=org.apache.log4j.RollingFileAppender
log4j.appender.QuietAppender.Threshold=INFO
log4j.appender.QuietAppender.File=quiet.log

# setup specific log
log4j.appender.LoudAppender=org.apache.log4j.RollingFileAppender
log4j.appender.LoudAppender.Threshold=DEBUG
log4j.appender.LoudAppender.File=loud.log

# set logging level for specific classes
log4j.logger.com.yourpackage.yourclazz=TRACE

この構成では、「Quiet. log' には、すべてのクラスのすべての INFO 以上のメッセージが含まれますが、'loud.log' には、指定されたクラス 'yourclazz' の DEBUG メッセージのみが含まれます。

以上が異なるログ レベルを個別のアペンダーとログ ファイルに送信するように Log4j を構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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