уровень logibase-maven-плагин - PullRequest
1 голос
/ 22 января 2020

Я использую liquibase-maven-plugin версию 3.8.4 под maven версии 3.0.1, и у меня возникают проблемы с ведением журнала: при запуске

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?

Это соответствующая часть пом:

  <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>

1 Ответ

2 голосов
/ 23 января 2020

Мы столкнулись с этим и в Datical. Вот что есть в нашей системе тикетов:

Инфраструктура ведения журнала в Apache Maven не работает в версиях до 3.1.x; это приводит к тому, что запись в журнале становится чрезвычайно многословной (так как вы не видите ничего, что вас волнует, потому что там так много шума).

Плагин liquibase-maven-лучше всего работает с Apache Maven 3.1.x или выше. Datical Certified на Apache Maven 3.6.3.

Чтобы изменить уровень журнала Liquibase Maven с помощью Apache Maven 3.1.x или выше, вам необходимо установить переменную среды, передав ее по команде линии Liquibase Maven или добавив его в качестве переменной среды. Вы не можете установить свойство liquibase для изменения уровня журнала, используя любую версию Apache Maven.

Передача уровня журнала в командной строке

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

Настройка переменной среды

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