我已经为我称为Nomad的Flyway编写了一个包装器。我对 Flyway 很满意,省去了它在 Maven 之外执行的不间断日志记录。我在这里创建了一个问题。Nomad 的每个用户都必须自己配置 log4j 以使 Flyway 静音。如果不这样做,例如在规范测试期间,这是有问题的。然而,让配置恰到好处是一个挑战,而且,必须这样做会破坏我的库的抽象。
我的问题是:我怎样才能永久地使飞行路线保持沉默,以便 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 的帮助,而不是过于健谈。误导仍然被打破,但不经常。