SLF4J - Migrador
Si tiene un proyecto en Jakarta Commons Logging (JCL) o log4j o java.util.logging (JUL) y desea convertir estos proyectos a SLF4J, puede hacerlo utilizando la herramienta de migración proporcionada en la distribución SLF4J.
Ejecución de SLF4J Migrator
SLF4J es un archivo jar simple (slf4j-migrator.jar) y puede ejecutarlo usando el comando java –jar.
Para ejecutarlo, en el símbolo del sistema, navegue por el directorio donde tiene este archivo jar y ejecute el siguiente comando.
java -jar slf4j-migrator-1.8.0-beta2.jar
Starting SLF4J Migrator
Esto inicia el migrador y puede ver una aplicación java independiente como:
Como se especifica en la ventana, debe verificar el tipo de migración que desea realizar y seleccionar el directorio del proyecto y hacer clic en el botón Migrar proyecto a SLF4J.
Esta herramienta va a los archivos de origen que usted proporciona y realiza modificaciones simples como cambiar las líneas de importación y las declaraciones del registrador del marco de registro actual a SLF4j.
Ejemplo
Por ejemplo, supongamos que tenemos una muestra log4j(2) proyecto en eclipse con un solo archivo de la siguiente manera:
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 la muestra log4j(2) proyecto a slf4j, necesitamos marcar el botón de radio from log4j to slf4j y seleccione el directorio del proyecto y haga clic Exit migrar.
El migrador cambió el código anterior de la siguiente manera. Aquí, si observa, se han modificado las declaraciones de importación y registro.
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");
}
}
Como ya tienes log4j.jar en su proyecto, debe agregar slf4j-api.jar y slf4jlog12.jar archivos al proyecto para ejecutarlo.
Limitaciones de SLF4JMigrator
A continuación se muestran las limitaciones del migrador SLF4J.
Migrator no modificará los scripts de compilación como ant, maven y ivy, debe hacerlo usted mismo.
Migrator no admite mensajes que no sean del tipo String.
Migrator no admite el nivel FATAL.
Mientras trabaja con log4j, el migrador no migrará las llamadas a PropertyConfigurator o DomConfigurator.