SLF4J (Simple Logging Facade for Java) — библиотека для протоколирования, ставящая своей целью предоставить максимально простой, но при этом мощный фасад для различных систем протоколирования на Java.

Simple Logging Facade for Java
Логотип программы Simple Logging Facade for Java
Тип библиотека для журналирования[d]
Разработчик Ceki Gülcü[d]
Написана на Java[2]
Операционная система кроссплатформенность
Аппаратная платформа Java Virtual Machine
Последняя версия
Репозиторий github.com/qos-ch/slf4j
Лицензия лицензия MIT
Сайт slf4j.org
Логотип Викисклада Медиафайлы на Викискладе

SLF4J предоставляет простой обобщённый интерфейс для систем протоколирования, не зависящий от конкретной реализации.

Реализация может быть выбрана и сконфигурирована без изменения кода приложения. Slf4J прозрачно интегрируется со следующими реализациями:

  • NOP — реализация, не выполняющая никаких действий
  • Simple — использование стандартного вывода для логов
  • Java Logging API — система протоколирования, включенная в JDK
  • Log4J — одна из наиболее известных систем протоколирования для java
  • JCL — фреймворк, также предоставляющий адаптер для протоколирования
  • LogBack — система протоколирования, представляющая собой развитие log4j и специально разработанная для использования совместно с slf4j

Дополнительно к этому, SLF4J предоставляет возможность интегрировать компоненты, зависимые от других систем протоколирования (Log4J, JCL), подставляя реализации, направляющие логи этих систем в SLF4J.

Пример использования править

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
class MyClass {
	private Logger log = LoggerFactory.getLogger(MyClass.class); // 1. Объявляем переменную логгера
 
	...
 
	log.debug("..."); // 2. Выводим строку в debug
 
	...
 
	log.info("Some object: {}", object); // 3. Выводим в info  строку с аргументом, подставляемым в неё
 
	...
 
	log.error("Error during some job!!", e); // 4. Выводим в error ошибку, вместе с исключением
}

Примечания править

Ссылки править