2011-03-16 14 views
5

Como se especifica en el título, estoy usando Maven y Jetty. Para iniciar sesión usando SLF4J y Logback. Tengo 'logback.xml' en 'src/main/resources'.Registrando con slf4j, y 'logback', pero sin crear el archivo de registro especificado que está en configuración. (usando maven, embarcadero)

<configuration> 
     <appender name="STDOUT" 
       class="ch.qos.logback.core.ConsoleAppender"> 
      <layout class="ch.qos.logback.classic.PatternLayout"> 
       <pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern> 
      </layout> 
     </appender> 

     <appender name="FILE" 
      class="ch.qos.logback.core.FileAppender"> 
      <layout class="ch.qos.logback.classic.PatternLayout"> 
       <pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern> 
      </layout> 
      <File>myLog.log</File> 
     </appender> 

     <logger name="org.mortbay"> 
      <level value="debug" /> 
     </logger> 

     <root> 
      <level value="error" /> 
      <appender-ref ref="STDOUT" /> 
      <appender-ref ref="FILE" /> 
     </root> 
</configuration> 

Pero mi problema es no crear el archivo 'myLog.log' si ejecuto/depuro el proyecto. ¿Cuál es la solución para obtener el archivo de registro?

¿Hay alguna manera de obtener el archivo de registro solo con SLF4J?

+0

¿Hay alguna diferencia si utiliza '' en lugar de ''? – Raghuram

+0

@Raghuram, intenté usar también, pero sin uso. – Jessu

Respuesta

10

¡Lo siento! No entendí el uso de 'Logback'. Tengo solución de http://www.mail-archive.com/[email protected]/msg00661.html

decir

Parece que usted ha entendido mal el propósito de SLF4J. Si coloca slf4j-jdk14-1.5.6.jar, entonces slf4j-api se enlazará con java.util.logging. No se usará Logback. Solo si coloca logback-core.jar y logback-classic.jar en su ruta de clase (pero no slf4j-jdk14-1.5.6.jar) se enlazará SLF4J con logback. SLF4J se une con una única API subyacente de registro (por lanzamiento JVM).

HTH,

Gracias a Ceki Gülcü. Ahora puedo obtener registros en mi archivo.

0

Si está utilizando JBoss 5.1 y tiene el mismo problema [logback no escribe en el archivo], agregue lo siguiente en jboss-web.xml.

<class-loading> 
    <loader-repository> 
     com.hp:classloader=logback-slf4j 
     <loader-repository-config>java2ParentDelegation=false</loader-repository-config> 
    </loader-repository> 
</class-loading> 

Esto debería resolver su problema.

Cuestiones relacionadas