Java 如何在控制台中抑制Flyway迁移输出?
作为一个学校项目,我们正在开发一个简单的Java控制台应用程序。起初,我决定使用Flyway进行数据库迁移,因为它看起来是最简单的解决方案。我对迁移本身很满意,但希望抑制Flyway的控制台日志记录 在谷歌搜索了相当广泛的内容之后,我想不出如何在不改变标准输出的情况下摆脱日志记录。我应该这样做,还是有更好的方法来清理我们的产出?对我来说,这听起来像是一个问题,应该有一个简单的开关在某个地方,我只是找不到 谢谢大家!Java 如何在控制台中抑制Flyway迁移输出?,java,console-application,flyway,Java,Console Application,Flyway,作为一个学校项目,我们正在开发一个简单的Java控制台应用程序。起初,我决定使用Flyway进行数据库迁移,因为它看起来是最简单的解决方案。我对迁移本身很满意,但希望抑制Flyway的控制台日志记录 在谷歌搜索了相当广泛的内容之后,我想不出如何在不改变标准输出的情况下摆脱日志记录。我应该这样做,还是有更好的方法来清理我们的产出?对我来说,这听起来像是一个问题,应该有一个简单的开关在某个地方,我只是找不到 谢谢大家! 编辑:这里是正在讨论的项目:(UI是芬兰语的,但代码是英语的)Flyway设计
编辑:这里是正在讨论的项目:(UI是芬兰语的,但代码是英语的)Flyway设计用于在类路径上查找兼容的日志库。如果找不到,它将返回默认的日志记录行为,这就是您在这里看到的 这并没有很好的文档记录,因为Flyway通常从客户端使用,比如CLI、Maven等。客户端有自己的日志处理机制。然而,您采取的是非常手动的方法 让它现在起作用 使用:
- 下载SLF4J jar文件
- 下载SLF4J的NOP绑定
- 将这两个JAR放在计算机上的文件夹中(例如
)C:\jars
- 在执行应用程序时,将这些JAR添加到类路径中
- e、 g:
java-cpc:\jars\*-jar-ohtu ts all.jar
- e、 g:
,您将Flyway Core作为依赖项拉入。这样可以避免这种疯狂的手动设置。使用log4j将日志存储在文件中 要导入的类
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Maven依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
文件log4j.properties
log4j.rootLogger=DEBUG, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/file_name_to_logs.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.file.MaxFileSize=5MB
可能会更改日志级别的帮助吗?@hotzst,但我还没有在Flyway的JAVA API文档中找到如何配置它。据我所知,至少在其他版本(如CLI)中是可能的。
log4j.rootLogger=DEBUG, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/file_name_to_logs.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.file.MaxFileSize=5MB