Если у вас есть проект в 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, нам нужно установить переключатель с 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.