Перенаправить вывод общего журнала в Maven3 Mojo - PullRequest
1 голос
/ 11 мая 2011

Для плагина Flyway Maven мне нужно вызвать несколько библиотек, которые регистрируют, используя commons-logging (Flyway, Spring, ...)

В Maven2 я мог бы использовать maven-plugin-log4j для достижения этой цели.Вот как выглядит вывод:

[INFO] [flyway:history {execution: default-cli}]
[INFO] Hsql does not support locking. No concurrent migration supported.

В Maven3, однако, это работает не так хорошо:

[INFO] --- flyway-maven-plugin:1.3.2-SNAPSHOT:history (default-cli) @ flyway-sample ---
15.04.2011 09:49:10 com.googlecode.flyway.core.dbsupport.hsql.HsqlDbSupport <init>
INFO: Hsql does not support locking. No concurrent migration supported.

Как получить чистый вывод журнала в Maven3

Ответы [ 2 ]

0 голосов
/ 28 мая 2011

Хорошо, я выяснил, в чем проблема.

Для поддержки Maven 2 плагин зависит от maven-core версии 2.2.1 .

Эта версия maven-core использует зависимость slf4j-jdk14 .

В Maven 2 это ничего не делает, но в Maven 3 оно используется, и перенаправляет весь вывод журнала в журнал JDK 1.4 (что крайне сложно настроить).

Чтобы перенаправить вывод регистрации общего ресурса в журнал Maven в Maven 2 и Maven 3 , теперь у меня работает следующая настройка:

<!-- Stop redirecting to JDK 1.4 logging -->
<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-core</artifactId>
    <version>2.2.1</version>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-jdk14</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- Log4J to Maven Log -->
<dependency>
    <groupId>com.pyx4j</groupId>
    <artifactId>maven-plugin-log4j</artifactId>
    <version>1.0.1</version>
</dependency>

<!-- Slf4j to Log4J -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.5.6</version>
</dependency>
0 голосов
/ 26 мая 2011

Вы должны использовать AbstractMojo.getLog () , чтобы использовать предоставленный Maven Logger.

...