Maven은 내 취향에 따라 너무 많은 출력 라인을 분출합니다 (나는 Unix 방식을 좋아합니다 : 좋은 소식은 없습니다).
모든 [INFO] 줄을 제거하고 싶지만 Maven의 자세한 정도를 제어하는 인수 또는 구성 설정에 대한 언급을 찾을 수 없습니다.
로그 수준을 설정하는 LOG4J와 같은 방법이 없습니까?
Maven은 내 취향에 따라 너무 많은 출력 라인을 분출합니다 (나는 Unix 방식을 좋아합니다 : 좋은 소식은 없습니다).
모든 [INFO] 줄을 제거하고 싶지만 Maven의 자세한 정도를 제어하는 인수 또는 구성 설정에 대한 언급을 찾을 수 없습니다.
로그 수준을 설정하는 LOG4J와 같은 방법이 없습니까?
답변:
-q 스위치를 사용해 볼 수 있습니다 .
-q,-quiet 조용한 출력-오류 만 표시
-q
너무 조용 하다는 것 입니다. CI에서 maven을 실행하고 있으며 진행 상황을 추적하는 데 필요한 단계를보고 싶지만 다운로드 표시기가 비 ANSI 디스플레이를 엉망으로 만들고 있습니다. 다운로드 진행률 표시기 만 끄는 방법이 있습니까?
-B
을 사용하여 배치 모드를 활성화 한 다음 (CI 시스템에 있어야합니다!) MAVEN_OPTS="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
다운로드 진행 정보를 종료하도록 설정 합니다.
--batch-mode
( -B
) 을 활성화해야합니다 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
.
공식 링크 : https://maven.apache.org/maven-logging.html
JVM 매개 변수를 추가 할 수 있습니다 .
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN
대문자를 조심하십시오.
Maven 3.1.x는 로깅을 위해 SLF4j를 사용합니다. https://maven.apache.org/maven-logging.html 에서 구성 방법에 대한 지침을 찾을 수 있습니다.
간단히 말해서 ${MAVEN_HOME}/conf/logging/simplelogger.properties
, 수정 하거나 MAVEN_OPTS
환경 변수 를 통해 동일한 속성을 설정하십시오 .
예 : 설정 은 배치 모드 전송 리스너의 로깅 MAVEN_OPTS
을 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
구성 -Dorg.slf4j.simpleLogger.defaultLogLevel=warn
하고 기본 로그 수준을 설정합니다.
기존 답변은를 사용하여 로그 수준을 기준으로 필터링하는 데 도움이됩니다 --quiet
. 많은 INFO 메시지가 디버깅에 유용하다는 것을 알았지 만 다음과 같은 다운로드 아티팩트 로그 메시지는 시끄럽고 도움이되지 않았습니다.
Downloading: http://nexus:8081/nexus/content/groups/public/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml
이 해결책을 찾았습니다.
https://blogs.itemis.com/en/in-a-nutshell-removing-artifact-messages-from-maven-log-output
mvn clean install -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
mvn --no-transfer-progress ...
(또는mvn -ntp
짧은 경우) 적절한 솔루션이 될 것입니다. 아래 내 대답을 참조하십시오 .