Вход Фасад или Logger в приложении для новичка
Я нахожусь в точке моего маленького тестового веб-приложения, которое мне нужно для регистрации. У меня нет никакого реального опыта ни в log4j, ни в java.util.logging, и я подумал, стоит ли мне начинать сразу с фасада регистрации (slf4j).
Я читал, что фасад журнала должен использоваться для библиотек, которые являются общими (каркасы), что имеет смысл. Но в случае, если конкретное приложение я не уверен, куда идти. Было бы лучше использовать log4j (или logback) напрямую из-за производительности? Или я должен начать с slf4j прямо сейчас, так как я все равно не знаю других?
Спасибо
4 ответа
Log4j, Java Logging - это каркасы журналирования (A)
SLF4J, Commons-Logging - каротажно-фасадные каркасы (B)
Даже когда вы используете что-либо в списке (B) выше, вам все равно нужно дать ему основную фактическую реализацию логгера (которая является чем-то из списка A) для правильной работы.
Так что, если вы делаете библиотеку, которую вы кому-то отправите (и вы не знаете, какие из фреймворков они будут использовать из списка A), ТО вам следует пойти на что-то в списке B (идеальным является SLF4J)
Если вы делаете отдельное приложение, то, по всей вероятности, log4j (из списка A) должен решить вашу цель.
Для автономного приложения я бы начал с Jakarta Commons Logging вместе с log4j.
Я не рекомендую java.util.logging, поскольку найти ошибку конфигурации с ним - кошмар. Лучший выбор:
- log4j для бэкэнда
- регистрация общего доступа (более популярная версия) или slf4j (более поздняя версия) для внешнего интерфейса
ОБНОВЛЕНИЕ: эта недавняя запись в блоге может помочь вам выбрать приличный / недавний / пригодный для использования интерфейс регистрации и бэкэнд
SLF4J был создан как улучшение log4j, к числу решаемых проблем относятся производительность и, как мне кажется, наиболее полезная возможность подключения инфраструктуры ведения журналов во время развертывания.
Я предлагаю вам начать с первого, log4j, он очень прост и облегчит понимание SJF4J.