SLF4J - Migrador
Se você tiver um projeto em Jakarta Commons Logging (JCL) ou, log4j ou, java.util.logging (JUL) e quiser converter esses projetos para SLF4J, pode fazer isso usando a ferramenta de migração fornecida na distribuição SLF4J.
Executando o migrador SLF4J
SLF4J é um arquivo jar único simples (slf4j-migrator.jar) e você pode executá-lo usando o comando java –jar.
Para executá-lo, no prompt de comando, navegue pelo diretório onde você tem este arquivo jar e execute o seguinte comando.
java -jar slf4j-migrator-1.8.0-beta2.jar
Starting SLF4J Migrator
Isso inicia o migrador e você pode ver um aplicativo Java autônomo como -
Conforme especificado na janela, você precisa verificar o tipo de migração que deseja fazer e selecionar o diretório do projeto e clicar no botão Migrar Projeto para SLF4J.
Essa ferramenta vai para os arquivos de origem que você fornece e executa modificações simples, como alterar as linhas de importação e declarações do registrador da estrutura de registro atual para SLF4j.
Exemplo
Por exemplo, vamos supor que temos uma amostra log4j(2) projeto no eclipse com um único arquivo da seguinte maneira -
import org.apache.log4j.Logger;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class Sample {
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger(Sample.class.getName());
public static void main(String[] args)throws IOException,SQLException {
log.debug("Hello this is a debug message");
log.info("Hello this is an info message");
}
}
Para migrar a amostra log4j(2) projeto para slf4j, precisamos verificar o botão de opção from log4j to slf4j e selecione o diretório do projeto e clique Exit migrar.
O migrador alterou o código acima da seguinte maneira. Aqui, se você observar que as instruções de importação e logger foram modificadas.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class Sample {
static Logger log = LoggerFactory.getLogger(Sample.class.getName());
public static void main(String[] args)throws IOException,SQLException {
log.debug("Hello this is a debug message");
log.info("Hello this is an info message");
}
}
Já que você já tem log4j.jar em seu projeto, você precisa adicionar slf4j-api.jar e slf4jlog12.jar arquivos para o projeto para executá-lo.
Limitações do SLF4JMigrator
A seguir estão as limitações do migrador SLF4J.
O Migrator não modificará scripts de construção como formiga, maven e ivy, você precisa fazer isso sozinho.
O Migrator não oferece suporte a mensagens diferentes do tipo String.
O Migrator não oferece suporte ao nível FATAL.
Ao trabalhar com log4j, o migrator não migra chamadas para PropertyConfigurator ou DomConfigurator.