web-dev-qa-db-ja.com

log4j2プロパティでクラスのログレベルを設定する方法

log4jでは、プロパティファイルでクラスを指定して、次のようにデバッグレベルでログを記録できます。

log4j.logger.com.mycompany.mypackage.ClassName=DEBUG

Log4j2でこれを行うにはどうすればよいですか? (xmlやjsonではなく)新しいプロパティファイルを使用する必要があることに注意してください。

TIA

18
sproketboy

log4j2構成ドキュメント 状態として

バージョン2.4以降、Log4jはプロパティファイルを介した構成をサポートするようになりました。 プロパティの構文はLog4j 1で使用されている構文と同じではないことに注意してください。

次に、すべてのタイプの構成要素の実質的な例を示します。

質問に関しては、loggers要素でロガーを指定してから、それぞれを構成する必要があります。例えば

loggers = mine

logger.mine.name = com.mycompany.mypackage.ClassName
logger.mine.level = DEBUG

log4j2はデフォルトでクラスパス上で.propertiesファイルを検索することに注意してください。

テストファイルが見つからない場合、プロパティConfigurationFactoryはクラスパスでlog4j2.propertiesを検索します。

ただし、場所を自分で構成することもできます。システムプロパティを使用できます

-Dlog4j.configurationFile=conf/log4j.properties

適切なパスで。

20