gpt4 book ai didi

java - Silencing Flyway——一个 log4j 问题

转载 作者:行者123 更新时间:2023-11-30 07:32:49 28 4
gpt4 key购买 nike

我已经围绕 Flyway 编写了一个包装器我调用Nomad .我对 Flyway 很满意,除了它在 Maven 之外执行的持续日志记录。我创建了一个问题 here . 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 的帮助,而不是过于健谈。误导仍然存在,但并不常见。

最佳答案

您在 log4j.xml 中完成的方式似乎不错。我看不出有什么不对。

由于该项目使用 Maven,我建议您添加一个属性文件而不是 log4j.properties,您将其放在 src/main/resources

内容可以是:

log4j.rootCategory=DEBUG, stderr
log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.target=System.err
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=[%d] %-5p %c %x: %m%n

# Silence springframework messages.
org.springframework=ERROR

也许这对你更有效。它也变得更易于管理。

关于java - Silencing Flyway——一个 log4j 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6286990/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com