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.