web-dev-qa-db-ja.com

プロパティファイルを使用した異なるログレベルのLog4j異なるアペンダー

Log4jの公式ドキュメントは リンク切れ であり、入門ガイドは私を助けていないので、同じロガーに対して異なるログレベルの2つのアペンダーを使用する方法を知りたいです。 .propertiesファイルではなく.xmlファイル。

たとえば、次のように:

log4j.rootLogger=debug,  APPENDER_FILE, APPENDER_STDOUT

2つの異なるアペンダーを使用してロギングしていますが、同じログレベル(DEBUG)を使用しています。 APPENDER_STDOUTにはINFOログレベルを、APPENDER_FILEにはaDEBUGログレベルを使用したいと思います。

私の質問は this に似ていますが、その質問とは異なり、私はxmlファイルではなくlog4j.propertiesファイルを使用しています。

29
alessiop86

loggerを2つのレベルの詳細(DEBUG)に設定する必要がありますが、-appenderにしきい値を設定して、INFO以上のメッセージのみを表示するように指示します

log4j.appender.APPENDER_STDOUT.Threshold=INFO
50
Ian Roberts

また、パッケージレベルでアペンダーを指定する場合は、以下を使用できます。

log4j.logger.[package]=[Level], [Appender]

例:

log4j.logger.org.Apache.cxf=INFO, MyAppender

詳細については、以下をご覧ください https://stackoverflow.com/a/19795886/67924

1
Haroldo_OK