Jump to content

SLF4J

Простой фасад журналирования для Java
Разработчик(и) Чеки Гюльджю
Стабильная версия
2.0.9 / 3 сентября 2023 г .; 11 месяцев назад ( 03.09.2023 ) [ 1 ]
Репозиторий
Написано в Ява
Операционная система Кросс-платформенный
Тип Инструмент регистрации
Лицензия МОЯ лицензия
Веб-сайт www .slf4j .org

Simple Logging Facade for Java ( SLF4J ) предоставляет Java ведения журналов API посредством простого шаблона фасада . Базовый механизм ведения журнала определяется во время выполнения путем добавления желаемой привязки к пути к классам и может представлять собой стандартный пакет ведения журнала Sun Java java.util.logging, [ 2 ] Log4j , Reload4j, Вход в систему [ 3 ] или крошечный журнал. [ 4 ] [ 5 ]

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

SLF4J был создан Чеки Гюльчу как более надежная альтернатива платформе Jakarta Commons Logging. [ 6 ] [ 7 ] Исследование 10 000 проектов GitHub, проведенное в 2013 году, показало, что самой популярной библиотекой Java является SLF4J, наряду с JUnit , ее используют 30,7% проектов. [ 8 ] В январе 2021 года он был признан вторым по популярности проектом по версии mvnrepository. [ 9 ]

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

[ редактировать ]
  • Используются пять из шести уровней ведения журнала log4j (ERROR, WARN, INFO, DEBUG, TRACE). FATAL был исключен на том основании, что внутри структуры ведения журнала нет места, где можно было бы решить, когда приложение должно завершить работу, и поэтому нет никакой разницы между ERROR и FATAL с точки зрения средства ведения журнала. Кроме того, маркеры SLF4J предлагают более общий метод маркировки операторов журнала. Например, любой оператор журнала уровня ERROR может быть помечен маркером «FATAL».
  • Экземпляры регистратора создаются с помощью LoggerFactory, что очень похоже на log4j. Например,
     private static final Logger LOG = LoggerFactory.getLogger(Wombat.class);
    
  • В Logger методы журналирования перегружены формами, которые принимают одно, два или более значений. [ 10 ] Появление простого шаблона {} в сообщении журнала по очереди заменяются значениями. Это просто в использовании, но обеспечивает выигрыш в производительности, когда значения имеют дорогостоящие значения. toString() методы. Когда ведение журнала отключено на данном уровне, платформе ведения журнала не требуется оценивать строковое представление значений или создавать строку сообщения журнала, которая фактически никогда не регистрируется. В следующем примере конкатенация строк и toString() метод для значений count или userAccountList выполняются только тогда, когда включена DEBUG.
 LOG.debug("There are now " + count + " user accounts: " + userAccountList); // slower
 LOG.debug("There are now {} user accounts: {}", count, userAccountList);    // faster
  • Подобные методы существуют в Logger для isDebugEnabled() и т. д., чтобы обеспечить перенос более сложных вызовов журналирования, чтобы они отключались при отключении соответствующего уровня, избегая ненужной обработки.
  • В отличие от log4j , SLF4J предлагает методы журналирования, которые принимают маркеры. Это специальные объекты, которые дополняют сообщения журнала. В настоящее время logback — единственная платформа, использующая маркеры.

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

[ редактировать ]

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

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

[ редактировать ]

Версия 2.0.0 была выпущена 20 августа 2022 г. Последняя версия 2 — 2.0.9 (03.09.2023). [ 12 ]

Значительные изменения и дополнения:

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

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

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

См. также

[ редактировать ]
  1. ^ «Новости SLF4J» . slfj4.org . 03.09.2023.
  2. ^ java.util.logging
  3. ^ журнал
  4. ^ крошечный журнал
  5. ^ «Привязка SLF4J для tinylog» . Архивировано из оригинала 07.12.2017 . Проверено 16 декабря 2014 г.
  6. ^ «Подумайте еще раз, прежде чем использовать API ведения журнала Commons»
  7. ^ «Таксономия проблем с загрузчиком классов, возникающих при использовании журнала Jakarta Commons»
  8. ^ «Мы проанализировали 30 000 проектов GitHub — вот 100 лучших библиотек на Java, JS и Ruby» . Архивировано из оригинала 9 июля 2014 г. Проверено 9 февраля 2014 г.
  9. ^ Николас, Френкель. « Самый популярный» раздел» . Твиттер . Проверено 16 января 2022 г.
  10. ^ Документация по API SLF4J: Регистратор
  11. ^ Привязка Apache log4j 2.x slf4j
  12. ^ «Новости SLF4J» . www.slf4j.org . Проверено 27 ноября 2023 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: df08516d9df498157e8a5ef1a2be5374__1719959820
URL1:https://arc.ask3.ru/arc/aa/df/74/df08516d9df498157e8a5ef1a2be5374.html
Заголовок, (Title) документа по адресу, URL1:
SLF4J - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)