Установка уровня журнала сообщения во времени выполнения в slf4j

При использовании log4j, Logger.log(Priority p, Object message) метод доступен и может использоваться для входа сообщения на уровне журнала, определенном во времени выполнения. Мы используем этот факт и эту подсказку для перенаправления stderr к регистратору на определенном уровне журнала.

slf4j не имеет дженерика log() метод, который я могу найти. Это означает, что нет никакого способа реализовать вышеупомянутое?

91
задан Edward Dale 12 April 2010 в 11:39
поделиться

2 ответа

Это невозможно сделать с помощью slf4j .

Я полагаю, что причина отсутствия этой функциональности заключается в том, что практически невозможно создать тип Level для slf4j , который можно эффективно сопоставить с уровнем . (или эквивалентный) тип, используемый во всех возможных реализациях ведения журнала за фасадом. С другой стороны, разработчики решили, что ваш вариант использования слишком необычен , чтобы оправдать накладные расходы на его поддержку.

Что касается @ ripper234 варианта использования (модульное тестирование), я думаю, что прагматическое решение состоит в изменении модульного теста (ов), чтобы жестко определить, какая система ведения журнала находится за фасадом slf4j ... при запуске модульных тестов.

43
ответ дан 24 November 2019 в 06:52
поделиться

нет, у него есть несколько методов, info (), debug (), warn () и т. д. (заменяет поле приоритета)

полный api Logger см. на http://www.slf4j.org/api/org/slf4j/Logger.html .

-6
ответ дан 24 November 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: