Чи все-таки варто додати бібліотеку log4j до проекту Java 5 просто для того, щоб увійти, скажімо, деякі винятки до файлу з деякими приємними налаштуваннями перекидання. Або стандартна установка util.logging також виконає свою роботу?
Що ти думаєш?
Чи все-таки варто додати бібліотеку log4j до проекту Java 5 просто для того, щоб увійти, скажімо, деякі винятки до файлу з деякими приємними налаштуваннями перекидання. Або стандартна установка util.logging також виконає свою роботу?
Що ти думаєш?
Відповіді:
Я б сказав, що ви, мабуть, добре справляєтеся з util.logging для потреб, які ви описуєте.
Щоб отримати гарне рішення, подивіться на Log4j vs java.util.logging
Перше питання: Чи передбачаєте ви потребу в будь-якому з розумних обробників, у яких Log4j не має JUL, таких як SMTPHandler, NTEventLogHandler або будь-який із дуже зручних FileHandlers?
Питання друге: Чи бачите ви, що хочете часто перемикати формат вихідного журналу? Вам знадобиться простий, гнучкий спосіб зробити це? Іншими словами, чи потрібен вам шаблон вибору Log4j?
Питання третє: Чи передбачаєте ви певну потребу у здатності змінювати складні конфігурації журналів у ваших програмах після їх складання та розміщення у виробничому середовищі? Чи звучить ваша конфігурація на кшталт: "Важкі повідомлення з цього класу надсилаються електронною поштою хлопцеві служби підтримки; суворі повідомлення з підмножини класів потрапляють до deamon syslog на нашому сервері; попереджувальні повідомлення з іншого підмножини класів отримують реєстрацію. у файл на мережевому диску A; а потім усі повідомлення звідусіль потрапляють у файл на мережевому диску B "? І чи бачите ви, що це налаштовує кожні пару днів?
Якщо ви можете відповісти "так" на будь-яке з перерахованих вище питань, перейдіть з Log4j. Якщо ви відповісте на категоричне "не", JUL буде більш ніж адекватним, і це зручно вже включено до SDK.
Але, мабуть, кожен проект сьогодні, здається, закінчується, включаючи log4j, хоча б тому, що використовує його інша бібліотека.
Я рекомендую використовувати фасад простого ведення журналу для Java (SLF4J). Він підтримує різних провайдерів, які включають Log4J і можуть використовуватися як заміна для журналу Apache Commons.
Log4j існує давно, і він працює дуже добре. Я не маю жодного наукового дослідження, яке б підтримувало це, але виходячи з того, що я бачив у великої кількості клієнтів, я легко вважаю, що структура лісозаготівлі використовується більше, ніж будь-яка інша. Це існує вже давно, і його не замінили наступні рамки наступної великої лісозаготівлі, яка щось говорить.
Налаштовувати мертве просто, і легко вивчити основні додатки (результати). Доступні цілі заявники, включаючи:
Плюс інші. Написати власний додаток теж не складно. Крім того, існує велика гнучкість у кожному з додатків, що дозволяє вам конкретно контролювати те, що виводиться у ваш журнал.
Одне зауваження, у мене виник ряд проблем із завантажувачем класів, коли я використовував журнал apache commons, крім log4j. Це було лише для одного конкретного додатка, але я вважав, що простіше використовувати log4j поодинці, а не мати гнучкість при використанні шару абстракції, наприклад, загального журналу.
Дивіться цю статтю для більш детальної інформації :
Удачі!
java.util.logging пропонує комплексний пакет лісозаготівлі без зайвого багажу, який деякі інші надають ..
log4j - це набагато приємніший пакет, і він не має деяких з гикавок, які містить java.util.logging. По-друге, безпосередньо використовувати log4j простіше, ніж використовувати журнал Commons.
Я рекомендую використовувати Apache Commmons Logging як інтерфейс ведення журналів. Таким чином, у вас є можливість перемикати реалізацію журналів у будь-який час, не вимагаючи змін у вашому кінці.