Sim você deveria. O uso de uma fachada de registro como o SLF4J oferece flexibilidade sem sobrecarregar os usuários com uma estrutura de registro específica.
Os autores de componentes e bibliotecas amplamente distribuídos podem codificar na interface SLF4J para evitar a imposição de uma estrutura de log no usuário final do componente ou biblioteca. Portanto, o usuário final pode escolher a estrutura de log desejada no momento da implantação, inserindo a ligação slf4j correspondente no caminho da classe, que pode ser alterada posteriormente substituindo uma ligação existente por outra no caminho da classe e reiniciando o aplicativo. Essa abordagem provou ser simples e muito robusta.
Além disso, se seus usuários não incluírem um jar SLF4J (no guia do usuário ):
No SLF4J versão 1.6.0, se nenhuma ligação for encontrada no caminho da classe, o slf4j-api assumirá o padrão de uma implementação sem operação descartando todas as solicitações de log.
Se você estiver preocupado com as implicações de desempenho do log, consulte esta entrada do SLF4J FAQ . A idéia é que você forneça parâmetros para registrar instruções em vez de adicioná-las a uma sequência de caracteres:
As duas linhas a seguir produzirão exatamente a mesma saída. No entanto, o segundo formulário superará o primeiro por um fator de pelo menos 30, no caso de uma instrução de log desativada.
logger.debug("The new entry is "+entry+".");
logger.debug("The new entry is {}.", entry);
O SLF4J é mais uma fachada de exploração?
SLF4J é conceitualmente muito semelhante ao JCL. Como tal, pode ser pensado como mais uma fachada de madeira. No entanto, o SLF4J é muito mais simples em design e sem dúvida mais robusto. Em poucas palavras, o SLF4J evita os problemas do carregador de classes que afetam [Jakarta Commons Logging].