simple org logger log4j12 how example defaulting java logging slf4j

java - org - slf4j-simple



slf4j+java.util.logging: ¿cómo configurar? (6)

Estoy tratando de usar slf4j + java.util.logging. Sé cómo configurar el código fuente de Java para hacer esto a través de logger = LoggerFactory.getLogger(...) y logger.warn(''...'' ) o lo que sea.

Pero, ¿dónde está la documentación para configurar la configuración en slf4j? Estoy muy confundido ... Tengo el manual de log4j y estoy familiarizado con los conceptos básicos de los adaptadores de registro, pero no estoy seguro de cómo hacer que esto funcione con slf4j + java.util.logging.

a saber:

  • ¿Qué archivo .properties y / o JVM -D argumento de línea de comandos debo especificar para señalarlo a mi archivo de configuración?

  • ¿Dónde está la documentación del archivo de configuración para java.util.logging?

  • ¿El uso de slf4j causa algún cambio en mi archivo de configuración? (es decir, algo que tendría que declarar de manera diferente, en lugar de usar java.util.logging o log4j directamente)


A veces parece que puedes salirte con la tarea de editar tu archivo como este

tomcat-directory/webapps/your_app_name/WEB-INF/classes/log4j.properties

(archivo de configuración log4j estándar)


Básicamente, solo necesitas tener slf4j-api.1.7.7.jar y slf4j-jdk14.1.7.7.jar en tu classpath. Y luego cree un archivo logging.properties para su aplicación y establezca las propiedades del sistema -Djava.util.logging.config.file = {path_to_logging.properties}

revise este tutorial que le brinda ejemplos de cómo configurar slf4j con diferentes marcos de registro tales como java logger, log4j, logback, etc.


Dejé caer el registro de Java con el mismo propósito y fui para el inicio de sesión. No hay nada que hacer para configurar logback con SLF4J en realidad. Simplemente ponga logback.xml en la raíz del jar con la configuración de logback y ponga logback-XX.jar en classpath.

<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="warn"> <appender-ref ref="STDOUT" /> </root> </configuration>

Esta es una configuración para iniciar sesión en la consola, pero el manual de logback tiene más ejemplos.


No configura SLF4J, debe vincular y configurar el proveedor. Yo uso Logback, que fue construido específicamente para SLF4J. También puedes usar log4j. Consulte la entrada correspondiente en el manual: http://www.slf4j.org/manual.html#binding


No hay configuración en la capa slf4j. Es solo una API, para la cual el backend debe proporcionar la implementación (más o menos).

Para usar java.util.logging como el backend slf4j, debe tener slf4j-jdk14-mumle.jar de la distribución slf4j en su classpath, y hacer la magia listada en el javadoc para habilitarlo. Si no, tendrá un error de tiempo de ejecución que indica que no hay ninguna implementación slf4j activa.