SLF4J

Simple Logging Facade for Java
Información general
Tipo de programa registrador de datos
Desarrollador Ceki Gülcü
Licencia MIT License
Estado actual en desarrollo
Idiomas Inglés
Información técnica
Programado en Java
Plataformas admitidas Plataforma Java
Versiones
Última versión estable 1.6.4 ( 31 de octubre de 2011 (13 años y 9 días))
Enlaces

Simple Logging Facade for Java (SLF4J) proporciona una API de registro Java a través de un simple patrón de fachada. El servidor de registro subyacente se determina en tiempo de implementación y puede ser java.util.logging , log4j, logback o tinylog.[1]

La separación de la API de cliente desde el servidor de registro reduce el acoplamiento entre una aplicación y cualquier marco de registro especial. Esto puede hacer más fácil integrar con código existente o de terceros o entregar código en otros proyectos que ya han hecho una opción de registro de back-end.

SLF4J fue creado por Ceki Gülcü como una alternativa más confiable al Jakarta Commons Logging framework (marco de registro/inicio de sesión común de Yakarta).[cita requerida]

Similitudes y diferencias con Log4j

[editar]
  • Cinco de seis niveles de registro de Log4j se utilizan. Se ha suprimido FATAL basándose en la idea de que dentro del marco de registro no es lugar para decidir cuándo una aplicación debe terminar y por lo tanto, no hay ninguna diferencia entre ERROR y FATAL desde la perspectiva del registrador.
  • Las instancias del registrador se crean a través de la LoggerFactory , que es muy similar en Log4j. Por ejemplo,
 private static final Logger LOG = LoggerFactory.getLogger(Wombat.class);
  • En Logger, los métodos de registro están sobrecargados con formas que aceptan uno, dos o más valores.[2]​ Cada una de las ocurrencias del patrón {} en el mensaje de registro es reemplazado a su vez con los valores. Esto es fácil de usar, y proporciona una mejora de rendimiento cuando los valores tienen métodos costosos toString(). Cuando el registro está desactivado en el nivel de depuración, el marco de registro no tiene que evaluar la representación de cadena de los valores. En el ejemplo siguiente, los valores count or userAccountList sólo necesitan ser evaluados cuando se habilita la depuración; de lo contrario la sobrecarga de la llamada de depuración (debug call) es trivial.
 LOG.debug("There are now " + count + " user accounts: " + userAccountList); // slow
 LOG.debug("There are now {} user accounts: {}", count, userAccountList);    // faster
  • Métodos similares existen en Logger para isDebugEnabled() etc. para permitir el registro de llamadas más complejas de forma que se desactiven cuando se desactiva el nivel correspondiente, evitando procesamientos innecesarios.
  • A diferencia de Log4j, SLF4J ofrece métodos de registro que aceptan marcadores. Estos son objetos especiales que enriquecen los mensajes de registro, una idea que SLF4J ha tomado prestada de logback.

Referencias

[editar]
  1. «SLF4J binding for tinylog». Archivado desde el original el 7 de diciembre de 2017. Consultado el 17 de febrero de 2015. 
  2. SLF4J api docs: Logger

Véase también

[editar]

Enlaces externos

[editar]