Чи потрібно мені оновити log4j до slf4j [закрито]


10

Ми переглядаємо наш веб-додаток JEE на предмет запланованого рефакторингу, і одна з пропозицій - замінити log4jна logbackабоslf4j

Команді не зрозуміло, чи варто нам це робити - тому що в даний час ми хочемо слідувати, якщо це не зламалося, не виправляйтеся в цій області.

Редагувати: Я не прошу порівняння рамок журналів, але чи це цінний елемент рефакторингу для зміни рамки, коли ми цілком задоволені log4j

Відповіді:


18

Одне важливе питання, яке ви повинні взяти до уваги: ​​чи ви створюєте бібліотеку, якою користується хтось інший, чи ви будуєте кінцевий продукт?

У першому випадку SLF4j дуже важливий, тому що хтось інтегрує вашу бібліотеку у своє програмне забезпечення, яке вже має вхід у систему, і було б непогано, якщо ваші класи просто використовують це.

У другому випадку я б сказав, що ви можете просто залишити його таким, яким він є. Можливо, подумайте про використання slf4j для наступного проекту.


7

Не варто. Краще витрачайте свій час, застосовуючи корисні, цінні функції.


6
-1: ведення журналу повинно бути максимально якісним!

7
Тож log4j, яким вони користуються, недостатньо корисний? Заміна рамок лише тому, що це можливо, є марною витратою часу. ОП навіть заявив, що реєстрація не була порушена.
Мартін Вікман

1
Я б не голосував за це. Мартін мав рацію. Якщо у Хосе є якийсь готовий продукт (а не бібліотека, дивіться мою відповідь), він повинен просто залишити його таким, як є, і провести час деінде ...
Тім Бют

2
@ Thorbjørn, ні, ведення журналу (як функції взагалі) має бути настільки ж хорошим, скільки потрібно . Якщо у них немає проблем з Log4J (до речі, ви не вказали жодного з них, який би зробив необхідним його заміну), є, швидше за все, кращі використання їх часу.
Péter Török

1
-1: Безумовна перевага одного над іншим - це неправильне значення ІМХО. Просто спробуйте протиставити цю відповідь умові відповіді Тіма Бет.
Ajeet Ganga

1

Якщо Log4J працює для вас, немає ніяких причин змінювати це. Якщо це не так, шукайте альтернативу, яка робить те, що вам потрібно, а це може бути, а може і не бути slf4j.

Просто тому, що хтось каже, що щось приємніше, ніж щось інше, ніколи не повинно бути причиною змінити всю вашу заявку (або взагалі прийняти щось нове).


0

Slf4j - це API, який дозволяє вам вибрати, чи використовувати log4j, logback або журнал jdk за замовчуванням під час розгортання, а не визначати час компіляції (що відбувається, коли ви кодуєте безпосередньо log4j)

Slf4j також надає {} -construct, який може затримувати дорогі дзвінки toString (), уникаючи їх повністю, якщо оператор журналу не включений.

Потім ви можете вибрати двигун пізніше.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.