Как изменить уровень ведения журнала maven для отображения только предупреждений и ошибок?

Я хочу, чтобы maven не отображал сообщения INFO, я хочу видеть только ПРЕДУПРЕЖДЕНИЯ и ОШИБКИ (если есть).

Как я могу добиться этого, предпочтительно, изменив командную строку, которая вызывает maven?

105 голосов | спросил sorin 24 Jpm1000000pmMon, 24 Jan 2011 15:43:09 +030011 2011, 15:43:09

8 ответов


0

При запуске maven с параметром -q или --quiet отображаются только ошибки. Я не знаю настройки, которая также показывает предупреждения, но не имеет информационного уровня.

ответил Ruben 24 Jpm1000000pmMon, 24 Jan 2011 16:02:11 +030011 2011, 16:02:11
0

Ответ на ваш вопрос

Я провел небольшое расследование, потому что я также заинтересован в решении.

Параметры подробности командной строки Maven

Согласно http: //books.sonatype .com /mvnref книга /ссылка /обкатка раздел-options.html # обкатка сект-многословный-вариант

  • -e для ошибки
  • -X для отладки
  • -q только для ошибки

Конфигурационный файл регистрации Maven

В настоящее время maven 3.1.x использует SLF4J для входа в System.out. Вы можете изменить параметры ведения журнала в файле:

${MAVEN_HOME}/conf/logging/simplelogger.properties

По данным страницы: http://maven.apache.org/maven-logging.html

Настройка командной строки

Я думаю, что вы должны иметь возможность установить уровень регистрации по умолчанию для простого регистратора с помощью параметра командной строки, например:

$ mvn clean package -Dorg.slf4j.simpleLogger.defaultLogLevel=debug

Но я не смог заставить его работать . Я предполагаю, что единственная проблема в этом заключается в том, что maven выбирает уровень по умолчанию из файла конфигурации на пути к классам. Я также попробовал несколько других настроек через System.properties, но все они оказались безуспешными.

Приложение

Вы можете найти источник slf4j на github здесь: slf4j github

Источник простого журнала здесь: slf4j/jcl-over-slf4j/src/main/java/org/apache/commons/logging/impl/SimpleLog.java

Загрузчик сплетения загружает simplelogger.properties.

ответил kisp 11 +04002013-10-11T17:28:08+04:00312013bEurope/MoscowFri, 11 Oct 2013 17:28:08 +0400 2013, 17:28:08
0

Linux:

mvn validate clean install | egrep -v "(^\[INFO\])"

или

mvn validate clean install | egrep -v "(^\[INFO\]|^\[DEBUG\])"

Окна:

mvn validate clean install | findstr /V /R "^\[INFO\] ^\[DEBUG\]"
ответил Tom H 10 MaramSun, 10 Mar 2013 05:04:04 +04002013-03-10T05:04:04+04:0005 2013, 05:04:04
0

Этого можно добиться с помощью MAVEN_OPTS, например
MAVEN_OPTS=-Dorg.slf4j.simpleLogger.defaultLogLevel=warn mvn clean

Вместо того, чтобы помещать системное свойство непосредственно в командную строку. (По крайней мере, для Maven 3.3.1.)

Попробуйте использовать ~/.mavenrc для настройки MAVEN_OPTS если вы хотите, чтобы логирование было изменено для вашего логина во всех вызовах maven.

ответил binkley 16 PMpThu, 16 Apr 2015 12:36:23 +030036Thursday 2015, 12:36:23
0

Если вы используете Logback, просто поместите этот logback-test.xml в src/test/resources каталог:

<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>
<root level="INFO">
    <appender-ref ref="STDOUT" />
</root>
</configuration>
ответил Pawel Wrzeszcz 21 32012vEurope/Moscow11bEurope/MoscowWed, 21 Nov 2012 19:00:48 +0400 2012, 19:00:48
0

К сожалению, даже в maven 3 единственный способ сделать это - это исправить исходный код.

Вот краткая инструкция, как это сделать.

Клон или форк Maven 3, репозиторий: «git clone https://github.com/apache/maven-3.git "

Отредактируйте org.apache.maven.cli.MavenCli # logging и измените

cliRequest.request.setLoggingLevel( MavenExecutionRequest.LOGGING_LEVEL_INFO );

к

cliRequest.request.setLoggingLevel( MavenExecutionRequest.LOGGING_LEVEL_WARN );

В текущей версии моментального снимка это строка 270

Затем просто запустите "mvn install", ваш новый дистрибутив maven будет находиться в папке "apache-maven \ target \"

См. эту разность для ссылки: https://github.com/ushkinaz/maven-3/commit/cc079aa75ca8c82658c7ff53f18c6caaa32d2131

ответил Dmitry Sidorenko 29 +04002011-10-29T03:29:45+04:00312011bEurope/MoscowSat, 29 Oct 2011 03:29:45 +0400 2011, 03:29:45
0

Я заметил при использовании версии 2.20.1 плагина maven sunfire все предупреждения записываются в файл дампа. например /myproject/target/surefire-reports/2017-11-11T23-02-19_850.dumpstream

ответил Hakan 11 62017vEurope/Moscow11bEurope/MoscowSat, 11 Nov 2017 23:06:31 +0300 2017, 23:06:31
0

Самый простой способ - перейти на Maven 3.3.1. или выше, чтобы воспользоваться поддержкой ${maven.projectBasedir}/.mvn/jvm.config.

Затем вы можете использовать любые параметры из SimpleVogger Поддержка для настройки всех регистраторов или отдельных регистраторов. Например, здесь показано, как сделать все предупреждения на уровне warn, кроме PMD, который настроен на запись в error:

cat .mvn/jvm.config
-Dorg.slf4j.simpleLogger.defaultLogLevel=warn -Dorg.slf4j.simpleLogger.log.net.sourceforge.pmd=error

См. здесь для получения дополнительной информации о входе в систему с помощью Maven.

ответил btiernay 31 MarpmSat, 31 Mar 2018 20:38:48 +03002018-03-31T20:38:48+03:0008 2018, 20:38:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132