title: SLF4J
text: # SLF4J
  
  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.
  
  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).
  
  ## Similitudes y diferencias con Log4j
  
  * 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,
  * En Logger, los métodos de registro están sobrecargados con formas que aceptan uno, dos o más valores. 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.
  * 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.
  