SLF4J - SLF4J

Fachada Logging simples para Java
SLF4J Logo.jpg
Desenvolvedor (s) Ceki Gülcü
Versão estável
1.7.25 / 16 mar 2017 ( 2017/03/16 )
Repositório Editar esta em wikidata
Escrito em Java
Sistema operacional Multi-plataforma
Tipo Ferramenta de Medição
Licença MIT License
Local na rede Internet www .slf4j .org

Simples Fachada Logging para Java ( SLF4J ) fornece uma Java logging API por meio de um simples padrão de fachada . A infra-estrutura de log subjacente é determinado no tempo de execução , adicionando a ligao desejada para o caminho de classe e pode ser o padrão de Sun Java pacote de logging java.util.logging, log4j , logback ou tinylog.

A separação do API do cliente a partir do backend log reduz o acoplamento entre um aplicativo e qualquer estrutura de log particular. Isso pode torná-lo mais fácil de integrar com código de terceiros existente ou ou para entregar código em outros projetos que já fizeram uma escolha de backend madeireira.

SLF4J foi criado por Ceki Gülcü como uma alternativa mais confiável para quadro Logging Jakarta Commons. Pesquisa em 2013 sobre 10.000 projetos GitHub descobriu que a biblioteca Java mais popular é SLF4J, juntamente com JUnit , com 30,7% dos projetos de usá-lo.

Semelhanças e diferenças com 1.x log4j

  • Cinco dos seis níveis de log de log4j são utilizados (ERROR, WARN, INFO, DEBUG, TRACE). FATAL foi derrubado na base de que dentro da estrutura de log não é o lugar para decidir quando um aplicativo deve terminar e, portanto, não há diferença entre o erro e FATAL do ponto de vista do logger. Além disso, os marcadores slf4j oferecer um método mais geral para marcar declarações de log. Por exemplo, qualquer declaração de registro de nível de erro pode ser marcado com o marcador "FATAL".
  • Casos Logger são criados através da LoggerFactory, que é muito semelhante em log4j. Por exemplo,
     private static final Logger LOG = LoggerFactory.getLogger(Wombat.class);
    
  • Em Logger , os métodos de registo estão sobrecarregados com formas que aceitam um, dois ou mais valores. Ocorrências do padrão simples {}na mensagem de log são substituídos por sua vez, com os valores. Isto é simples de usar e ainda fornece um benefício de desempenho quando os valores têm caros toString()métodos. Quando o log está desativado no nível fornecido, o quadro de registro não precisa avaliar a representação da cadeia de valores, ou construir uma cadeia de mensagem de log que nunca é realmente conectado. No exemplo a seguir, concatenação e toString()método para os valores countou userAccountListapenas são realizadas quando depuração é activado.
 LOG.debug("There are now " + count + " user accounts: " + userAccountList); // slower
 LOG.debug("There are now {} user accounts: {}", count, userAccountList);    // faster
  • Existem métodos semelhantes no registador para isDebugEnabled()etc, para permitir que o registo mais complexo chama para ser enrolado de modo que eles são desactivadas quando o nível correspondente é desactivado, evitando processamento desnecessário.
  • Ao contrário log4j , SLF4J oferece métodos de registro que aceitam marcadores. Estes são objetos especiais que enriquecem as mensagens de log. Na atualidade, logback é o único quadro que faz uso de marcadores.

Semelhanças e diferenças com 2.x log4j

Apache log4j 2.x suporta todas as funcionalidades slf4j.

Veja também

Referências

links externos