SLF4J - SLF4J

Простой фасад журнала для Java
SLF4J Logo.jpg
Разработчики)Чеки Гюльджю
Стабильный выпуск
1.7.30 / 16 декабря 2019 г.; 11 месяцев назад (2019-12-16)[1]
Репозиторий Отредактируйте это в Викиданных
Написано вЯва
Операционная системаКроссплатформенность
ТипИнструмент регистрации
ЛицензияЛицензия MIT
Интернет сайтwww.slf4j.org

Простой фасад журнала для Java (SLF4J) обеспечивает Ява протоколирование API с помощью простого узор фасада. Базовый бэкэнд регистрации определяется в время выполнения добавив желаемую привязку к путь к классам и может быть стандартным пакетом журналов Sun Java java.util.logging,[2] log4j, вход в систему[3] или tinylog.[4][5]

Отделение клиентского API от серверной части журналирования снижает взаимосвязь между приложением и любой конкретной платформой журналирования. Это может упростить интеграцию с существующим или сторонним кодом или доставку кода в другие проекты, которые уже выбрали бэкэнд ведения журнала.

SLF4J был создан Ceki Gülcü как более надежная альтернатива Jakarta Commons Logging framework.[6][7] Исследование в 2013 году 10 000 проектов GitHub показало, что самой популярной библиотекой Java является SLF4J, наряду с JUnit, его используют 30,7% проектов.[8]

Сходства и различия с log4j 1.x

  • Используются пять из шести уровней ведения журнала log4j (ERROR, WARN, INFO, DEBUG, TRACE). FATAL был удален на том основании, что внутри фреймворка журналирования нет места для принятия решения о том, когда приложение должно завершиться, и поэтому нет разницы между ERROR и FATAL с точки зрения регистратора. Кроме того, маркеры SLF4J предлагают более общий метод маркировки операторов журнала. Например, любой оператор журнала уровня ERROR может быть помечен маркером «FATAL».
  • Экземпляры логгеров создаются через LoggerFactory, что очень похоже на log4j. Например,
     частный статический окончательный Регистратор БРЕВНО = LoggerFactory.getLogger(Вомбат.учебный класс);
  • В Регистратор, методы регистрации перегружен с формами, которые принимают одно, два или более значений.[9] Вхождения простого шаблона {} в сообщении журнала заменяются по очереди значениями. Это просто использовать, но дает преимущество в производительности, когда значения стоят дорого. нанизывать() методы. Когда ведение журнала отключено на данном уровне, инфраструктуре ведения журнала не нужно оценивать строковое представление значений или создавать строку сообщения журнала, которая никогда не регистрируется в журнале. В следующем примере конкатенация строк и нанизывать() метод для значений считать или же userAccountList выполняются только при включенной DEBUG.
 БРЕВНО.отлаживать("Есть сейчас" + считать + " учетные записи пользователей: " + userAccountList); // помедленнее БРЕВНО.отлаживать("Сейчас существует {} аккаунтов пользователей: {}", считать, userAccountList);    // Быстрее
  • Подобные методы существуют в Регистратор за isDebugEnabled () и т. д., чтобы позволить более сложные вызовы журналирования быть обернутыми, чтобы они были отключены при отключении соответствующего уровня, избегая ненужной обработки.
  • В отличие от log4j, SLF4J предлагает методы ведения журнала, которые принимают маркеры. Это специальные объекты, которые обогащают сообщения журнала. В настоящее время вход в систему это единственная структура, в которой используются маркеры.

Сходства и различия с log4j 2.x

Apache log4j 2.x поддерживает все функции slf4j.[10]

История версий

Версия 2

Версия 2 в настоящее время находится в разработке, с альфа-версия доступна. Требует Java 8 или позже.

Важные дополнения к функциям:

Версия 1

Подробную информацию о версии можно найти в руководстве.

Важные версии включают:

  • Версия 1.7.30 - это текущий стабильный выпуск. Видеть Скачать страницу продукта.
  • Версия 1.7.5 позволила значительно сократить время поиска регистратора.
  • Версия 1.7.0 добавлена ​​поддержка varargs, требуя поддержки Java 5 или позже.
  • Версия 1.6 принесла бездействие реализация используется по умолчанию, если привязка не найдена.
  • Релизы версии 1.1 в репозиториях Maven началось 2006-09.

Смотрите также

Рекомендации

  1. ^ "Новости SLF4J". slfj4.org. 2019-12-16.
  2. ^ java.util.logging
  3. ^ вход в систему
  4. ^ tinylog
  5. ^ Привязка SLF4J для tinylog
  6. ^ "Подумайте еще раз, прежде чем переходить на API общего журналирования"
  7. ^ «Таксономия проблем загрузчика классов, возникающих при использовании журнала Jakarta Commons»
  8. ^ «Мы проанализировали 30 000 проектов GitHub - вот 100 лучших библиотек на Java, JS и Ruby».
  9. ^ SLF4J api docs: Регистратор
  10. ^ Привязка Apache log4j 2.x slf4j

внешняя ссылка