1

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>
12345ieee
  • 420
  • 1
  • 4
  • 15

1 Answers1

2

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
SteveDonie
  • 8,700
  • 3
  • 43
  • 43
  • Ah! Indeed, I am seeing this on a machine with maven version 3.0.x Tomorrow I'll see if I can update and try this. – 12345ieee Jan 22 '20 at 23:05
  • 1
    I have updated maven in the machine to a more recent version and the problem disappeared. Thanks for the maven version tip, would never have guessed. – 12345ieee Jan 23 '20 at 11:27
  • It took us some time to figure out the issue as well! Glad to help. – SteveDonie Jan 23 '20 at 15:21