2012-03-24 9 views
12

estoy usando la tala slf4j con logback y al comienzo de mi aplicación me escribió¿Cómo configurar netty logger factory para ver el resultado de LoggingHandler?

InternalLoggerFactory.setDefaultFactory(new Slf4JLoggerFactory()); 

Luego añade a la tubería una nueva instancia LoggingHandler(InternalLogLevel.DEBUG). Lamentablemente, esto todavía no registra nada, estaba depurando y el nivel de depuración es el problema, simplemente omite el registro en sí mismo.

¿Cómo debo configurar para trabajar este LoggingHandler?

+0

¿Puede darme más detalles sobre el problema con DEBUG? –

+0

No veo ningún motivo por el que no funcione el inicio de sesión en el nivel DEPURAR. ¿El registro a nivel de DEPURACIÓN usted mismo funciona? Si es así, ¿podría proporcionarnos un código específico que reproduzca el problema? – trustin

+0

¿Tiene el 'slf4j-api.jar' y alguna implementación de' sl4j' (como 'logback') en el classpath de su proyecto? También necesitará configurar el nivel de registro en el archivo de configuración específico de la implementación (como 'logback.xml' para' logback'). –

Respuesta

10

He hecho un pequeño ejemplo, que funciona - Lo coloqué en gist on github. Utiliza el inicio de sesión como back-end de slf4j. Los momentos que deben pagarse atención son:

  • InternalLoggerFactory.setDefaultFactory(new Slf4JLoggerFactory()); deberían ser ejecutados a la derecha en el punto de entrada del programa. A veces, este "punto de entrada" puede ser muy difícil de determinar.
  • Configuración correcta del backend slf4j. Como slf4j es solo un contenedor, no tiene nada que ver con la configuración, es específico para log4j, logback o java.util.logging (o tal vez algún backend personalizado). He trabajado mucho con el configurador personalizado "logging java commons", por lo que realmente nada en realidad se puede utilizar)
  • Incluso sin LoggingHandler verá que hay dos mensajes de depuración de inicializador estático de org.jboss.netty.channel.socket.nio.SelectorUtil (con la versión Netty 3.6.0.Final):

    11:54:00.959 [main] DEBUG o.j.n.c.socket.nio.SelectorUtil - Using select timeout of 500 
    11:54:00.962 [main] DEBUG o.j.n.c.socket.nio.SelectorUtil - Epoll-bug workaround enabled = false 
    
+0

Netty, sin embargo, no está utilizando mi registrador de raíz, tengo lo siguiente: 10: 36: 40,447 | -WARN en Logger [io.netty.channel.MultithreadEventLoopGroup] - No hay agregados presentes en contexto [predeterminado] para logger [io.netty. channel.MultithreadEventLoopGroup]. – Edmondo1984

+0

Esta solución funciona para mí. – JBT

Cuestiones relacionadas