SLF4J - migrator

Jeśli masz projekt w Jakarta Commons Logging (JCL) lub, log4j lub, java.util.logging (JUL) i chcesz przekonwertować te projekty na SLF4J, możesz to zrobić za pomocą narzędzia migracji dostępnego w dystrybucji SLF4J.

Uruchamianie SLF4J Migratora

SLF4J to prosty pojedynczy plik jar (slf4j-migrator.jar), który można uruchomić za pomocą polecenia java –jar.

Aby go uruchomić, w wierszu polecenia przejrzyj katalog, w którym masz ten plik jar i wykonaj następujące polecenie.

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

Spowoduje to uruchomienie migratora i możesz zobaczyć samodzielną aplikację java jako -

Jak określono w oknie, musisz zaznaczyć typ migracji, którą chcesz wykonać, wybrać katalog projektu i kliknąć przycisk Migrate Project to SLF4J.

To narzędzie przechodzi do udostępnianych plików źródłowych i wykonuje proste modyfikacje, takie jak zmiana wierszy importu i deklaracji rejestratora z bieżącej struktury rejestrowania na SLF4j.

Przykład

Załóżmy na przykład, że mamy próbkę log4j(2) projekt w eclipse z jednym plikiem w następujący sposób -

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

Aby przeprowadzić migrację próbki log4j(2) projekt do slf4j, musimy sprawdzić przycisk radiowy from log4j to slf4j i wybierz katalog projektu i kliknij Exit migrować.

Migrator zmienił powyższy kod w następujący sposób. Tutaj, jeśli zauważysz, że instrukcje importu i rejestratora zostały zmodyfikowane.

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

Ponieważ już masz log4j.jar w swoim projekcie musisz dodać slf4j-api.jar i slf4jlog12.jar pliki do projektu, aby go wykonać.

Ograniczenia SLF4JMigrator

Poniżej przedstawiono ograniczenia migracji SLF4J.

  • Migrator nie zmodyfikuje skryptów budowania, takich jak mrówka, maven i bluszcz, które musisz zrobić samodzielnie.

  • Migrator nie obsługuje wiadomości innych niż typu String.

  • Migrator nie obsługuje poziomu FATAL.

  • Podczas pracy z log4j migrator nie będzie migrować wywołań do PropertyConfigurator ani DomConfigurator.