Get Rid of Java Static Loggers

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Это очень распространенная практика в Java (использование LoggerFactory из slf4j):

Что не так с этим? Дублирование кода.

Это статическое свойство LOGGER должно быть объявлено в каждом классе, где требуется вести журнал. Всего несколько строк кода, но это чистый шум, насколько я вижу.

Чтобы облегчить жизнь, я создал библиотеку около двух лет назад, jcabi-log, в которой есть удобный утилитарный класс Logger (да, я знаю, что утилитарные классы - зло).

Это выглядит гораздо более чисто для меня и делает точно то же самое - отправляет одну строку журнала в систему ведения журнала SLF4J. Кроме того, оно автоматически проверяет, включен ли заданный уровень ведения журнала (для оптимизации производительности) и форматирует заданную строку с использованием Formatter (то же самое, что и String.format()).

Для удобства в библиотеке также реализовано несколько “декораторов”.

Библиотека поставляется в виде зависимости JAR в Maven Central (получите ее последние версии в Maven Central).

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-22 at 09:53

sixnines availability badge   GitHub stars