IT story

Maven을 덜 장황하게 만들 수 있습니까?

hot-time 2020. 8. 28. 08:00
반응형

Maven을 덜 장황하게 만들 수 있습니까?


Maven은 내 취향에 따라 너무 많은 출력 라인을 분출합니다 (나는 Unix 방식을 좋아합니다 : 좋은 소식은 없습니다).

모든 [INFO] 줄을 제거하고 싶지만 Maven의 자세한 정도를 제어하는 ​​인수 또는 구성 설정에 대한 언급을 찾을 수 없습니다.

로그 수준을 설정하는 LOG4J와 같은 방법이 없습니까?


-q 스위치를 사용해 볼 수 있습니다 .

-q,-quiet 조용한 출력-오류 만 표시


-q 위에서 말한대로 필요한 것입니다. 대안은

-B , --batch-mode 비대화 형 (배치) 모드에서 실행 배치 모드는 비대화 형, 연속 통합 환경에서 Maven을 실행해야하는 경우 필수적입니다. 비대화 형 모드에서 실행할 때 Maven은 사용자의 입력을 받아들이 기 위해 멈추지 않습니다. 대신 입력이 필요할 때 합리적인 기본값을 사용합니다.

또한 출력 메시지를 본질적으로 다소 줄입니다.


공식 링크 : https://maven.apache.org/maven-logging.html

JVM 매개 변수를 추가 할 수 있습니다 .

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

대문자를 조심하십시오.


-q 또는 --quiet 명령 줄 옵션 사용


내 문제는 -q가 너무 조용하다는 것입니다. CI에서 maven을 실행 중입니다.

메이븐 3.6.1 (4 월 2019 년) , 당신은 지금이 다운로드 / 업로드를 대화 형 모드에서 전송 진행을 억제하는 옵션을 .

mvn --no-transfer-progress ....

또는 간단히 :

mvn -ntp ... ....

그것이 RayMNG-6605PR 239 의 의견에서 제안한 것 입니다 .


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.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rn구성 -Dorg.slf4j.simpleLogger.defaultLogLevel=warn하고 기본 로그 수준을 설정합니다.


메시지 만 제거하려면 [INFO]다음을 수행 할 수도 있습니다.

mvn ... | fgrep -v "[INFO]"

모든 출력 (오류 제외) 을 억제하려면 다음 stdout을 사용 /dev/null하여 리디렉션 할 수 있습니다.

mvn ... 1>/dev/null

(이는 bashMaven 명령을 실행하기 위해 (또는 유사한 셸)을 사용하는 경우에만 작동 합니다.)


기존 답변은를 사용하여 로그 수준을 기준으로 필터링하는 데 도움이됩니다 --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

참고 URL : https://stackoverflow.com/questions/71069/can-maven-be-made-less-verbose

반응형