Maven은 내 취향에 따라 너무 많은 출력 라인을 분출합니다 (나는 Unix 방식을 좋아합니다 : 좋은 소식은 없습니다).
모든 [INFO] 줄을 제거하고 싶지만 Maven의 자세한 정도를 제어하는 인수 또는 구성 설정에 대한 언급을 찾을 수 없습니다.
로그 수준을 설정하는 LOG4J와 같은 방법이 없습니까?
답변
-q 스위치를 사용해 볼 수 있습니다 .
-q,-quiet 조용한 출력-오류 만 표시
답변
-q 위에서 말한대로 필요한 것입니다. 대안은
-B , –batch-mode
비대화 형 (배치) 모드에서 실행 배치 모드는 비대화 형, 연속 통합 환경에서 Maven을 실행해야하는 경우 필수적입니다. 비대화 형 모드에서 실행할 때 Maven은 사용자의 입력을 받아들이 기 위해 멈추지 않습니다. 대신 입력이 필요할 때 합리적인 기본값을 사용합니다.
또한 출력 메시지를 본질적으로 다소 줄입니다.
답변
내 문제는 -q가 너무 조용하다는 것입니다. CI에서 maven을 실행 중입니다.
로 메이븐 3.6.1 (4 월 2019 년) , 당신은 지금이 다운로드 / 업로드를 대화 형 모드에서 전송 진행을 억제하는 옵션을 .
mvn --no-transfer-progress ....
또는 간단히 :
mvn -ntp ... ....
그것이 Ray 가 MNG-6605 및 PR 239 의 의견에서 제안한 것 입니다 .
답변
공식 링크 :
https://maven.apache.org/maven-logging.html
JVM 매개 변수를 추가 할 수 있습니다 .
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN
대문자를 조심하십시오.
답변
-q 또는 –quiet 명령 줄 옵션 사용
답변
메시지 만 제거하려면 [INFO]
다음을 수행 할 수도 있습니다.
mvn ... | fgrep -v "[INFO]"
모든 출력 (오류 제외) 을 억제하려면 다음 stdout
을 사용 /dev/null
하여 리디렉션 할 수 있습니다.
mvn ... 1>/dev/null
(이는 bash
Maven 명령을 실행하기 위해 (또는 유사한 셸)을 사용하는 경우에만 작동 합니다.)
답변
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
하고 기본 로그 수준을 설정합니다.