SLF4J - Мигратор
Если у вас есть проект в Jakarta Commons Logging (JCL) или, log4j или java.util.logging (JUL), и вы хотите преобразовать эти проекты в SLF4J, вы можете сделать это с помощью инструмента миграции, предоставленного в дистрибутиве SLF4J.
Запуск 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, нам нужно установить переключатель from log4j to slf4j и выберите каталог проекта и нажмите Exit мигрировать.
Мигратор изменил приведенный выше код следующим образом. Здесь, если вы заметили, что операторы 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, которые вам нужно сделать самостоятельно.
Migrator не поддерживает сообщения, отличные от типа String.
Мигратор не поддерживает FATAL уровень.
При работе с log4j мигратор не будет переносить вызовы в PropertyConfigurator или DomConfigurator.