私はこの問題を解決するために多くの努力を続けてきました。 Log4j2のドキュメントでは、カスタム構成パスを定義するためにlog4j.configurationFile
システムプロパティを定義するよう求められています。私は私が構成で定義されたファイルへのテストケースとログを実行mvn install
を実行すると、これは完璧に動作します私のpom.xml
Log4j2 configurationFileシステムのプロパティは、Mavenテスト中にのみ動作します。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<excludes>
<exclude>**/RequestMetricsTest.java</exclude>
<exclude>**/SessionMetricsTest.java</exclude>
</excludes>
<systemProperties>
<property>
<name>log4j.configurationFile</name>
<value>src/main/resources/metrics-log4j2.xml</value>
</property>
</systemProperties>
</configuration>
</plugin>
でこのプロパティを定義しました。しかし、私はこのビルドされたjarファイルをweb-appで置き換えると、何もログに記録されず、log4j2の設定xmlが見つからないというエラーが返されます。
質問:このシステムプロパティを定義するために他に必要なものはありますか?
注:私のプロジェクトにはweb.xml
はありません。
ここで、上記のsystemPropertiesセクションを設定していますか?確実なMavenプラグインで? POMファイルをもっと共有していただけますか? –
はい、それはsurefire mavenプラグインで定義されています。質問を更新してください。見てください。 –
は正常ですが、テストフェーズにのみ適用されます。 metrics-log4j2.xmlではなくlog4j2.xmlと呼ばれなければならない理由はありますか? –