私はNomadと呼ぶFlywayのラッパーを作成しました。Flywayは、Mavenの外部で実行される絶え間ないロギングを除いて非常に満足しています。ここで問題を作成しました。Nomadの各ユーザーは、Flywayを無音にするために、log4jの独自の構成を作成する必要があります。これは、たとえば仕様テスト中に行われなかった場合に問題になります。ただし、構成を適切に行うことは困難であり、さらに、これを行う必要があると、ライブラリの抽象化が損なわれます。
私の質問はこれです:Nomadのユーザーがタスクに負担をかけないように、どうすればフライウェイを永久に沈黙させることができますか?私はこれがlog4j.xml
時々うまくいくことを発見しました:
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %t %-5p %c{1} - %m%n"/>
</layout>
</appender>
<logger name="org.springframework" additivity="false">
<level value="error"/>
<appender-ref ref="console"/>
</logger>
<root>
<priority value="error"/>
<appender-ref ref="console"/>
</root>
</log4j:configuration>
これにより、Flywayは、過度におしゃべりではなく、役立つようになります。誤った方向性はまだ壊れていますが、頻繁ではありません。