Reputation: 509
I am using liquibase-maven-plugin
version 3.8.4 under maven version 3.0.1 and I'm encountering issues with logging:
running
mvn liquibase:update
spits out hundreds and hundreds of lines of fine debugging info, like
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]
that complely ruin any change of reading the logs.
I've searched through many older questions, but as liquibase changed its logging approach in past versions none of the approaches given work.
What can I do to silence it, short of actually grepping away the stuff starting with [main] DEBUG
?
This is the relevant pom part:
<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>
Upvotes: 1
Views: 947
Reputation: 9016
We ran into this at Datical also. Here is what is in our ticket system:
The logging framework in Apache Maven is broken in versions prior to 3.1.x; this causes the logging to be extremely verbose (as in you can't see anything you care about because there is so much noise).
The liquibase-maven-plugin works best with Apache Maven 3.1.x or higher. Datical certified on Apache Maven 3.6.3.
To change the Liquibase Maven log level using Apache Maven 3.1.x or higher, you need to set an environment variable, either by passing it on the command line to Liquibase Maven or by adding it as an environment variable. You cannot set a liquibase property to change the log level using any version of Apache Maven.
Passing Log Level on the Command Line
mvn liquibase:listLocks -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
Setting Environment Variable
MAVEN_OPTS=-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
Upvotes: 2