Учебники

SLF4J – Мигратор

Если у вас есть проект в Jakarta Commons Logging (JCL) или, log4j или java.util.logging (JUL), и вы хотите преобразовать эти проекты в SLF4J, вы можете сделать это с помощью инструмента миграции, предоставленного в дистрибутиве SLF4J.

Migrator

Запуск SLF4J Migrator

SLF4J – это простой одиночный файл jar (slf4j-migrator.jar), и вы можете запустить его с помощью команды java –jar.

Чтобы запустить его, в командной строке перейдите в каталог, в котором находится этот jar-файл, и выполните следующую команду.

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

Это запустит миграцию, и вы можете увидеть отдельное Java-приложение как –

Проект Мигратор

Как указано в окне, вам нужно проверить тип миграции, которую вы хотите сделать, выбрать каталог проекта и нажать кнопку «Перенести проект в SLF4J».

Этот инструмент обращается к исходным файлам, которые вы предоставляете, и выполняет простые модификации, такие как изменение строк импорта и объявлений регистратора с текущей среды ведения журнала на SLF4j.

пример

Например, предположим, у нас есть пример проекта log4j (2) в eclipse с одним файлом следующим образом:

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

Чтобы перенести пример проекта log4j (2) в slf4j, нам нужно установить переключатель с log4j на slf4j, выбрать каталог проекта и нажать « Выход» для переноса.

Каталог проекта

Мигратор изменил приведенный выше код следующим образом. Вот если вы заметили, что операторы import и logger были изменены.

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

Поскольку у вас уже есть log4j.jar в вашем проекте, вам нужно добавить файлы slf4j-api.jar и slf4jlog12.jar в проект, чтобы выполнить его.

Ограничения SLF4JMigrator

Ниже приведены ограничения SLF4J-мигратора.

Migrator не будет изменять скрипты сборки, такие как ant, maven и ivy, вам нужно сделать это самостоятельно.

Мигратор не поддерживает сообщения, кроме типа String.

Мигратор не поддерживает уровень FATAL.

При работе с log4j migrator не будет переносить вызовы в PropertyConfigurator или DomConfigurator.