liquibase-maven-plugin log level



我在 maven 版本 3.0.1 下使用 3.8.4 版liquibase-maven-plugin并且遇到了日志记录问题: 运行

mvn liquibase:update

吐出成百上千行精细的调试信息,比如

18:09:38.241 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.NumberType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.242 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.DoubleType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.242 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.ClobType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.242 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.FloatType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.243 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.CharType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.243 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.DatabaseFunctionType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.243 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.LiquibaseDataType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.243 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.UUIDType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.244 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.DatabaseDataType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.244 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.DecimalType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.244 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.TinyIntType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.245 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.DataTypeFactory in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]
18:09:38.245 [main] DEBUG liquibase.servicelocator.DefaultPackageScanClassResolver - Loaded the class: class liquibase.datatype.core.NCharType in classloader: ClassRealm[plugin>org.liquibase:liquibase-maven-plugin:3.8.4, parent: sun.misc.Launcher$AppClassLoader@7852e922]

这完全破坏了读取日志的任何更改。

我已经搜索了许多较旧的问题,但是随着liquibase在过去版本中更改其日志记录方法,因此给定的方法都不起作用。

我能做些什么来让它静音,除了真正删除以[main] DEBUG开头的东西?

这是相关的pom部分:

<build>
<plugins>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.8.4</version>
<configuration>
<driver>oracle.jdbc.OracleDriver</driver>
<url>${liquibase.url}</url>
<username>${liquibase.username}</username>
<password>${liquibase.password}</password>
<changeLogFile>${changelogPath}/master.xml</changeLogFile>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
<verbose>false</verbose> <!-- Al momento ignorata, prima o poi la sistemeranno -->
<logging>INFO</logging> <!-- Al momento ignorata, prima o poi la sistemeranno -->
</configuration>
</plugin>
</plugins>
</build>

我们在Datical也遇到了这个问题。以下是我们票务系统中的内容:

Apache Maven 中的日志记录框架在 3.1.x 之前的版本中被破坏了;这导致日志记录非常冗长(因为噪音太大,你看不到任何你关心的东西(。

liquibase-maven-plugin 最适合 Apache Maven 3.1.x 或更高版本。Datical 在 Apache Maven 3.6.3 上认证。

要使用 Apache Maven 3.1.x 或更高版本更改 Liquibase Maven 日志级别,您需要设置环境变量,方法是在命令行上将其传递给 Liquibase Maven 或将其添加为环境变量。您不能设置 liquibase 属性来使用任何版本的 Apache Maven 更改日志级别。

在命令行上传递日志级别

mvn liquibase:listLocks -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG

设置环境变量

MAVEN_OPTS=-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG

最新更新