Maven produce demasiadas líneas de salida para mi gusto (me gusta el Unix manera: que no haya noticias es buena noticia).

Me quiere deshacerse de todos [INFO] líneas, pero no pude encontrar ninguna mención de un argumento o de los parámetros de configuración que controla el nivel de detalle de Maven.

No hay LOG4J-como forma de establecer el nivel de registro?

  • Con Maven 3.6.1 (abril de 2019, 10+ años más tarde), mvn --no-transfer-progress ... (o mvn -ntp para cortos) debe ser una solución adecuada. Consulte mi respuesta de abajo.
InformationsquelleAutor Asaf Bartov | 2008-09-16

8 Comentarios

  1. 117

    Usted puede probar el -p interruptor.

    -q,–quiet Tranquila de salida – mostrar sólo los errores de

    • esta opción muestra los mensajes de Depuración en maven 3
    • Para aclarar, esta opción de deshabilitar el registrador de mensajes de depuración – necesita a su vez que fuera a través de su registrador de la configuración. Por ejemplo, si usted está utilizando logback, incluyendo un src/test/resources/logback-test.xml archivo en tu proyecto te permitirá personalizar tu nivel de registro en ‘off’ durante la fase de prueba. Esto va a limpiar todo.
    • Mi problema es que -q es demasiado tranquilo. Yo estoy usando maven bajo CI, y quiero ver los pasos que se necesita (para el seguimiento del progreso), pero la descarga de indicadores están haciendo lío de la no-ANSI pantalla. Es allí una manera a sólo desactivar la descarga de indicadores de progreso?
    • Si sólo desea Descargar/Descargar los mensajes a desaparecer, uso -B para habilitar el modo de proceso por lotes (que debe tener en su sistema de CI de todos modos!), y, a continuación, establezca MAVEN_OPTS="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" a matar a la información de progreso de las descargas.
    • En maven 3.5.x I realmente se necesita para habilitar --batch-mode (-B) para la -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn truco para el trabajo.
    • si usted está inclinado he presentado una propuesta de solución compatible con el modo interactivo issues.apache.org/jira/browse/MNG-6605 , github.com/apache/maven/pull/239

  2. 25

    -q como se dijo anteriormente es lo que usted necesita. Una alternativa podría ser la

    -B, –lote-modo de
    Ejecutar no interactivos (lote) el modo de
    El modo por lotes es esencial si usted necesita para ejecutar Maven en un no-interactivo, continuo entorno de integración. Cuando se ejecuta en modo no interactivo, Maven nunca dejará de aceptar la entrada del usuario. En su lugar, se utilizan valores por default cuando se requiere la entrada.

    Y también reducirá la salida de los mensajes de forma más o menos a lo esencial.

    • Sí, eso era lo que yo necesitaba. Gracias.
    • La opción -B no parece reducir la salida (probado con la versión 3.3.9)…
    • se utiliza para el modo no interactivo, que ayuda a la hora de automatización de pistas
  3. 0

    Maven 3.1.x utiliza SLF4j para el registro, usted puede encontrar las instrucciones de cómo configurarlo en https://maven.apache.org/maven-logging.html

    En resumen: modificar ${MAVEN_HOME}/conf/logging/simplelogger.properties, o conjunto de las mismas propiedades a través de la MAVEN_OPTS variable de entorno.

    Por ejemplo: la configuración de MAVEN_OPTS a -Dorg.slf4j.simpleLogger.log.org.apache.maven.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rn configura el registro de los lotes de transferencia de modo de escucha, y -Dorg.slf4j.simpleLogger.defaultLogLevel=warn establece el nivel de registro predeterminado.

    • Esto no funciona en Maven 3.5.x 🙁
  4. 0

    Si usted sólo quiere deshacerse de la [INFO] mensajes también se podría hacer:

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

    Para suprimir todos salidas (excepto los errores) se pueden redireccionar stdout a /dev/null con:

    mvn ... 1>/dev/null

    (Esto sólo funciona si se utiliza bash (o similar conchas) para ejecutar Maven comandos.)

    • no me funciona
  5. 0

    La respuesta existente ayudar a un filtro basado en el nivel de registro de uso de --quiet. He encontrado que muchos de los mensajes de INFORMACIÓN son útiles para la depuración, sin embargo la descarga de artefacto de registro de mensajes como los siguientes eran ruidosos y no es útil.

    Downloading: http://nexus:8081/nexus/content/groups/public/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml

    Encontré esta solución:

    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

Dejar respuesta

Please enter your comment!
Please enter your name here