SLF4J - Migrateur

Si vous avez un projet dans Jakarta Commons Logging (JCL) ou, log4j ou, java.util.logging (JUL) et que vous souhaitez convertir ces projets en SLF4J, vous pouvez le faire à l'aide de l'outil de migration fourni dans la distribution SLF4J.

Exécution du migrateur SLF4J

SLF4J est un simple fichier jar (slf4j-migrator.jar) et vous pouvez l'exécuter à l'aide de la commande java –jar.

Pour l'exécuter, dans l'invite de commande, parcourez le répertoire dans lequel vous avez ce fichier jar et exécutez la commande suivante.

java -jar slf4j-migrator-1.8.0-beta2.jar
Starting SLF4J Migrator

Cela démarre le migrateur et vous pouvez voir une application Java autonome comme -

Comme spécifié dans la fenêtre, vous devez cocher le type de migration que vous souhaitez effectuer et sélectionner le répertoire du projet et cliquer sur le bouton Migrer le projet vers SLF4J.

Cet outil accède aux fichiers source que vous fournissez et effectue des modifications simples comme la modification des lignes d'importation et des déclarations de journalisation du cadre de journalisation actuel vers SLF4j.

Exemple

Par exemple, supposons que nous ayons un échantillon log4j(2) projet en éclipse avec un seul fichier comme suit -

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");
   }
}

Pour migrer l'échantillon log4j(2) projet vers slf4j, nous devons cocher le bouton radio from log4j to slf4j et sélectionnez le répertoire du projet et cliquez sur Exit migrer.

Le migrateur a modifié le code ci-dessus comme suit. Ici, si vous observez que les instructions d'importation et de journalisation ont été modifiées.

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");
   }
}

Puisque vous avez déjà log4j.jar dans votre projet, vous devez ajouter slf4j-api.jar et slf4jlog12.jar fichiers au projet pour l'exécuter.

Limitations de SLF4JMigrator

Voici les limites du migrateur SLF4J.

  • Migrator ne modifiera pas les scripts de construction comme ant, maven et, ivy dont vous avez besoin pour le faire vous-même.

  • Migrator ne prend pas en charge les messages autres que le type String.

  • Migrator ne prend pas en charge le niveau FATAL.

  • Lorsque vous travaillez avec log4j, Migrator ne migre pas les appels vers PropertyConfigurator ou DomConfigurator.