2008-09-16 11 views
66

Maven arroja demasiadas líneas de salida a mi gusto (me gusta la manera de Unix: no hay noticias son buenas noticias).¿Puede Maven hacerse menos detallado?

Quiero deshacerme de todas las líneas [INFO], pero no pude encontrar ninguna mención de una configuración de argumento o configuración que controle la verbosidad de Maven.

¿No hay una forma similar a LOG4J de establecer el nivel de registro?

Respuesta

86

Puede probar el interruptor -q.

-q, - tranquila de salida tranquila - sólo muestran errores

+1

esta opción muestra los mensajes de depuración en maven 3 – sheki

+1

@sheki: para aclarar, esta opción no deshabilita los mensajes de depuración del registrador; debe desactivarlo a través de la configuración de su registrador. Por ejemplo, si está utilizando logback, incluir un archivo src/test/resources/logback-test.xml en su proyecto le permitirá personalizar su nivel de registro a 'off' durante la fase de prueba. Esto limpiará todo. – codeturner

+3

Mi problema es que '-q' es demasiado silencioso. Estoy ejecutando maven bajo CI, y quiero ver los pasos necesarios (para seguir el progreso), pero los indicadores de descarga están arruinando la pantalla que no es ANSI. ¿Hay alguna forma de desactivar solo los indicadores de progreso de descarga? – Guss

6

utilizar las opciones -q --quiet o de línea de comandos

12

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

-B, modo --batch Ejecutar en no interactivo (por lotes) Modo modo por lotes es esencial si se necesita ejecutar Maven en un no-interactiva, integración continua ambiente. Cuando se ejecuta en modo no interactivo, Maven nunca se detendrá para aceptar la entrada del usuario. En su lugar, usará valores predeterminados razonables cuando requiera entrada.

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

+0

Sí, eso era lo que necesitaba. Gracias. – Guss

+0

La opción '-B' no parece reducir la salida (probado con la versión 3.3.9) ... – m13r

+0

se usa para modo no interactivo, lo que ayuda al automatizar ejecuciones – Stanislav

0

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

En resumen: cualquier modificación ${MAVEN_HOME}/conf/logging/simplelogger.properties, o configurar las mismas propiedades a través de la variable de entorno MAVEN_OPTS.

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

+2

Esto no funciona en Maven 3.5.x :-( –

0

Si sólo quiere deshacerse de los [INFO] mensajes también se puede hacer:

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

Para suprimir todo de salida puede redirigir la salida a /dev/null con:

mvn ... 1>/dev/null 2>&1 

(Esto solo funciona si usa bash (o conchas similares) para ejecutar los comandos de Maven.)

Cuestiones relacionadas