log4j から log4j2 に切り替えて、次の状況を除いてすべてをスムーズに変換しました。私のコードには、テキストをファイルに出力するテスト エンジンがあります。ロギングを処理するために log4j2 を使用しています。テスト名をファイル名として、テストごとに個別のログ ファイルを作成したいと考えています。
たとえば、test1 は test1.log に出力され、test2 は test2.log に出力されます。これは、このコードを使用してlog4jで可能でした...
private Category testOutput = Category.getInstance("ModelTestOutput");
FileAppender outFile = new FileAppender(new PatternLayout("%m%n"), fileName, false);
testOutput.addAppender(outFile);
ただし、これに一致する新しい log4j2 パターンが見つからないようです。
現在、こんな感じで設定しています...
protected Logger testOutput = LogManager.getLogger();
//unknown function to tailor the output file name
//something similar to above, like testOutput.addAppender()
および log4j2.xml ファイルで
<property name="test-file">test.log</property>
<appender type="File" name="TestLog" fileName="${test-path}${test-file}">
<layout type="PatternLayout" pattern="%m%n"></layout>
</appender>
<logger name="tester.fvt" level="DEBUG" additivity="false">
<appender-ref ref="TestLog" />
</logger>