Pregunta

Java tiene muchos marcos / API que lo ayudan a iniciar sesión en su aplicación:

  1. La API de Java tiene el paquete java.util.logging.
  2. Apache's Log4j.
  3. Registro de Apache's Commons.
  4. SLF4J (Fachada de registro).
  5. jLo. y muchos muchos más ...

Siempre he usado la biblioteca log4j, me pareció suficiente la mayor parte del tiempo y extensible cuando necesitaba más control.

¿Alguien que tenga experiencia con más de un marco puede compartir su experiencia? ¿Cuándo es mejor usar un marco sobre el otro y desde el punto de vista de la arquitectura de la aplicación? ¿Por qué preferiría uno sobre otro?

Gracias

¿Fue útil?

Solución

Esta pregunta parece idéntica a 354837 .

La respuesta simple es que elegiría Commons Logging si está escribiendo una biblioteca que se puede colocar en aplicaciones donde no tiene control sobre el registro, una de las otras opciones si no. Yo personalmente uso CL en todos los casos, simplemente porque es común: no necesito recordar las diferencias entre los marcos.

Otros consejos

Commons Logging es fuente de extraños problemas de carga de clases . Evitalo si puedes. Prefiero log4j cuando desarrollo aplicaciones. Si desarrolla biblioteca / marco y no desea aplicar la biblioteca de registro, elija slf4j.

Si se trata de un nuevo código, comenzaría con slf4j, ya que proporciona la forma más sencilla de cambiar entre las API de registro subyacentes simplemente incluyendo el slf- [logging_api] .jar requerido en la clase de su aplicación. Por ejemplo, si comienza con log4j, aún tiene que configurar un registrador Conole en un log4j.xml para ver su salida de registro, con slf4j simplemente incluye slf4j-simple.jar.

Logback es una reescritura de log4j. Si te gusta log4j, te gustaría tener un logback aún mejor.

Además, el inicio de sesión es una implementación nativa de la API SLF4J, lo que significa que si está utilizando el inicio de sesión, en realidad está utilizando SLF4J. Por lo tanto, si por alguna razón desea volver a cambiar a otro marco de registro, ya sea log4j o j.u.l. puede hacerlo reemplazando un archivo jar por otro.

Cualquiera que sea la posición oficial es "log4j" es el marco de registro estándar.

Funciona bien y ha existido por un tiempo. Es el marco de registro más implementado utilizado por miles de aplicaciones y paquetes. También es el marco de registro más probable que aparezca en un CV de desarrolladores.

Quédate con log4j, no hay una buena razón para probar otra cosa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top