the plugin found for current and java logging maven-2 jetty maven-jetty-plugin

java - found - jetty maven plugin



Habilitar el registro de depuraciĆ³n en el complemento maven jetty 7 (5)

Estoy ejecutando una aplicación web java con un simple mvn jetty:run , utilizando el último plugin de jetty, pero parece que no puedo encontrar una manera de decirle a jetty que envíe mensajes DEBUG a la consola (para la instancia de jetty incrustada, no el plugin sí mismo). Actualmente está emitiendo solo mensajes WARN e INFO. He intentado configurar -DDEBUG y -DVERBOSE , pero no hacen nada. Ya he echado un vistazo a la documentation , pero no parece cubrir esto.


Encuentro esta solución mas conveniente

<resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <targetPath>${project.build.outputDirectory}</targetPath> <includes> <include>log4j.properties</include> </includes> </resource> </resources>

También no olvides pegar

<overwrite>true</overwrite>

para el complemento de recursos


Para extender la respuesta de Pascal y yegor256, así es como funciona con el SLF4J Simple logger (que es la opción más fácil ya que solo necesita agregar una dependencia a slf4j-simple ):

<project> ... <build> ... <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>7.0.0.pre5</version> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.5</version> </dependency> </dependencies> </plugin> ... </plugins> </build> ... </project>

Es posible configurar el registrador SLF4J directamente desde Maven pom. Los valores predeterminados se describen en http://www.slf4j.org/apidocs/org/slf4j/impl/SimpleLogger.html )

Por ejemplo, inicie sesión en un archivo /tmp/output.log con un nivel de depuración más alto ( TRACE ):

<configuration> <systemProperties> <systemProperty> <name>org.slf4j.simpleLogger.logFile</name> <value>/tmp/output.log</value> </systemProperty> <systemProperty> <name>org.slf4j.simpleLogger.defaultLogLevel</name> <value>trace</value> </systemProperty> </systemProperties> </configuration>


Para extender la respuesta de Pascal, así es como funciona con log4j:

<project> ... <build> ... <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>7.0.0.pre5</version> <configuration> <systemProperties> <systemProperty> <name>log4j.configurationFile</name> <value>file:${project.basedir}/src/test/resources/log4j.properties</value> </systemProperty> </systemProperties> </configuration> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> </dependency> </dependencies> </plugin> ... </plugins> </build> ... </project>

Este es su ${project.basedir}/src/test/resources/log4j.properties :

log4j.rootLogger=INFO, CONSOLE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern = [%-5p] %c: %m/n log4j.logger.org.eclipse.jetty.util.log=INFO

Recursos adicionales:


También puedes hacer esto "mvn -X jetty: run"


Actualización: OK, finalmente conseguí que las cosas funcionaran y esto es lo que hice.

Tengo entendido que Jetty 7 no tiene ninguna dependencia en un marco de registro particular, incluso para el motor JSP, ya que Jetty 7 usa el motor JSP 2.1. Por lo que puede utilizar cualquier marco de registro. Aquí voy a utilizar logback.

Primero agregue logback-classic como dependencia en el complemento y configure la propiedad del sistema logback.configurationFile para que apunte a un archivo de configuración:

<project> ... <build> ... <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>7.0.0.pre5</version> <configuration> <systemProperties> <systemProperty> <name>logback.configurationFile</name> <value>./src/etc/logback.xml</value> </systemProperty> </systemProperties> </configuration> <dependencies> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>0.9.15</version> </dependency> </dependencies> </plugin> ... </plugins> </build> ... </project>

Luego agregue un archivo de configuración src/etc/logback.xml . Por debajo de una configuración mínima:

<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern> </layout> </appender> <root level="debug"> <appender-ref ref="STDOUT"/> </root> </configuration>

Con esta configuración, Jetty emitirá mensajes DEBUG:

$ mvn jetty:run ... 00:31:33.089 [main] DEBUG org.mortbay.log - starting DefaultHandler@145e5a6 00:31:33.089 [main] DEBUG org.mortbay.log - started DefaultHandler@145e5a6 00:31:33.105 [main] DEBUG org.mortbay.log - starting RequestLogHandler@1e80761 00:31:33.106 [main] DEBUG org.mortbay.log - started RequestLogHandler@1e80761 00:31:33.106 [main] DEBUG org.mortbay.log - starting HandlerCollection@1485542 00:31:33.106 [main] DEBUG org.mortbay.log - started HandlerCollection@1485542 00:31:33.106 [main] DEBUG org.mortbay.log - starting org.mortbay.jetty.Server@a010ba 00:31:33.174 [main] DEBUG org.mortbay.log - started org.mortbay.jetty.nio.SelectChannelConnector$1@ee21f5 00:31:33.216 [main] INFO org.mortbay.log - Started [email protected]:8080 00:31:33.217 [main] DEBUG org.mortbay.log - started [email protected]:8080 00:31:33.217 [main] DEBUG org.mortbay.log - started org.mortbay.jetty.Server@a010ba [INFO] Started Jetty Server

Recursos: