Java, регистрирующийся по сравнению с Log4j в платформе Spring. Какой наиболее подходит

Можно определить псевдоним для одного пространства имен, например:

using hap = HtmlAgilityPack;

и затем используют псевдоним вместо полного пространства имен:

hap.HtmlDocument doc = new hap.HtmlDocument;
7
задан markitus82 18 August 2009 в 08:03
поделиться

4 ответа

Независимо от того, какую структуру ведения журнала вы используете в вашем собственном коде, насколько я помню, Spring жестко зависит от общего ведения журнала. Вы по-прежнему можете использовать все, что захотите, для собственного ведения журнала (я бы порекомендовал SLF4J в качестве вашего фасада, с логбэком в качестве вашей реализации), но Spring внутренне требует общего ведения журнала. Хотите ли вы зависеть от нескольких фреймворков - это ваш выбор; это не должно вызвать проблем.

5
ответ дан 6 December 2019 в 19:40
поделиться

Перед тем, как начать с log4j, посмотрите на logback . Log4j больше не следует использовать для новых проектов. Если у вас есть унаследованный код, которому требуется какая-либо среда ведения журнала, используйте slf4j , чтобы старый код говорил с логбэком (или log4j, если необходимо).

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

5
ответ дан 6 December 2019 в 19:40
поделиться

Spring использует ведение журнала общего доступа, которое представляет собой средство абстракции журнала, но имеет проблемы, которых нет у sl4j. Hibernate перемещен на slf4j - я бы хотел, чтобы Spring сделал то же самое, но я не думаю, что у них есть какие-либо планы на этот счет.

Итак, пока ваше средство абстракции журнала (используйте slf4j) ведет журнал в той же структуре ведения журнала так как вы настроили регистрацию общих ресурсов весной, то все в порядке. Конфигурация одного журнала для обоих. Вы можете найти адаптер для входа в систему для commons и slf4j.

2
ответ дан 6 December 2019 в 19:40
поделиться

Поскольку другие ответы на самом деле не ответили на ваш вопрос, я подумал, что смогу его попробовать.

Во-первых, java.util.logging ужасен. Больно использовать и мучительно настраивать. Log4J лучше по обоим параметрам. Однако вы должны выбрать тот, который вам удобнее всего. Spring использует commons-logging, который, в свою очередь, будет использовать либо log4j (если он находится в пути к классам), либо java.util.logging в противном случае. Другими словами, если в вашем приложении уже присутствует log4j, то Spring будет эффективно использовать это, и вы тоже должны. Если log4j еще не указан, либо используйте java.util.logging (если хотите), либо добавьте log4j в свой путь к классам и используйте его.

1
ответ дан 6 December 2019 в 19:40
поделиться
Другие вопросы по тегам:

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