2012-09-16 17 views
6

Estoy tratando de configurar un registrador de consola con logback en slf4j. Mi configuración logback es el siguiente:Logback.xml no inicia sesión en ConsoleAppender?

<configuration> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <!-- encoders are assigned the type 
     ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> 
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
     <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern> 
    </encoder> 
    </appender> 

    <logger name="org.hibernate" level="INFO" /> 
    <logger name="com.myapp" level="TRACE" /> 

    <root level="DEBUG"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 

A pesar de que parece Logback para configurar sin problemas, me parece que no puede obtener una salida de cualquier madereros en mi consola. He probado que LOGGER.isInfoEnabled() devuelve verdadero en mi aplicación.

La salida de StatusPrinter de Logback:

17:25:11,736 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] 
17:25:11,737 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/Users/ryanspicer/NetBeansProjects/Oncewhen/build/classes/logback.xml] 
17:25:11,996 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set 
17:25:11,996 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 
17:25:12,000 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT] 
17:25:12,038 |-ERROR in [email protected]:74 - no applicable action for [encoder], current pattern is [[configuration][appender][encoder]] 
17:25:12,038 |-ERROR in [email protected]:16 - no applicable action for [pattern], current pattern is [[configuration][appender][encoder][pattern]] 
17:25:12,038 |-ERROR in ch.qos.logback.core.ConsoleAppender[STDOUT] - No layout set for the appender named "STDOUT". 
17:25:12,038 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Popping appender named [STDOUT] from the object stack 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.hibernate] to INFO 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.hibernate] to true 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.myapp] to TRACE 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.myapp] to true 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG 
17:25:12,038 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[root] 

Alguna idea de lo que podría estar pasando aquí, y cómo solucionarlo y obtener la salida del registro de trabajo?

Respuesta

3

Desde la salida de estado, parece que está utilizando una versión de logback 0.9.18 o anterior. Deberías probar con la última versión.

+1

que estoy aceptando esto porque me puso sobre la pista del problema real - la videoteca Xuggler (que insiste en ser instalado en/usr/y va en la ruta de clase mundial) estaba proporcionando una antiguo jar Logback, que confundía slf4j. Después de actualizar al último Logback y SLF4J dentro de mi proyecto, pude forzar slf4j para que se vincule al Logback correcto, y todo estuvo bien. – Alterscape

+0

Estoy usando la última versión de logback (1.0.9) y sigo viendo estos mensajes de ERROR. ¿Alguna idea de por qué eso puede ser? Gracias. Eugen. – Eugen

+0

La versión de logback-classic.jar y logback-core.jar debe coincidir. – Ceki

1

Para aquellos que necesiten usar logback 0.9.18 debido a dependencias de terceros, consulte esta respuesta para ver un ejemplo de cómo configurar los appenders.

logback with EJB3.1