Dois-je mettre à niveau log4j vers slf4j [fermé]

10

Nous examinons notre application Web JEE pour une refactorisation planifiée et l'une des suggestions est de remplacer log4jpar logbackouslf4j

L'équipe ne sait pas si nous devons le faire - car actuellement nous voulons suivre si ce n'est pas cassé, ne corrige pas dans ce domaine.

Edit: je ne demande pas une comparaison des cadres de journalisation, mais si c'est un élément de refactorisation précieux pour changer le cadre lorsque nous sommes assez satisfaits de log4j

JoseK
la source

Réponses:

18

Une question importante à prendre en compte: créez-vous une bibliothèque qui est utilisée par quelqu'un d'autre ou construisez-vous le produit final?

Dans le premier cas, SLF4j est très important, car quelqu'un intégrera votre bibliothèque dans son logiciel qui a déjà une connexion en place et ce serait bien si vos classes l'utilisaient.

Dans le deuxième cas, je dirais que vous pouvez simplement le laisser tel quel. Pensez peut-être à utiliser slf4j sur le prochain projet.

Tim Büthe
la source
7

Non. Mieux vaut plutôt passer votre temps à mettre en œuvre des fonctionnalités utiles et précieuses.

Martin Wickman
la source
6
-1: la journalisation doit être aussi bonne que possible!
7
Donc log4j, qu'ils utilisent, n'est pas assez utile? Remplacer les frameworks simplement parce que c'est possible, c'est une perte de temps. L'OP a même déclaré que la journalisation n'était pas interrompue.
Martin Wickman
1
Je ne voterais pas pour cela. Martin pourrait avoir raison. Si Jose a un produit fini (pas une bibliothèque, voir ma réponse), il devrait juste le laisser tel quel et passer du temps ailleurs ...
Tim Büthe
2
@ Thorbjørn, non, la journalisation (en tant que fonctionnalités en général) doit être aussi bonne que nécessaire . S'ils n'ont aucun problème avec Log4J, (en fait, vous n'en avez cité aucun qui obligerait à le remplacer), il y a probablement de meilleures utilisations de leur temps.
Péter Török
1
-1: La préférence inconditionnelle de l'un par rapport à l'autre est incorrecte à mon humble avis. Essayez simplement de comparer cette réponse avec la conditionnalité de la réponse de Tim Bueth.
Ajeet Ganga
1

Si Log4J fonctionne pour vous, il n'y a aucune raison de changer cela. Si ce n'est pas le cas, recherchez une alternative qui fait ce dont vous avez besoin, qui peut ou non être slf4j.

Juste parce que quelqu'un dit que quelque chose est plus agréable que quelque chose d'autre ne devrait jamais être une raison pour changer votre application entière (ou pour adopter quelque chose de nouveau).

jwenting
la source
0

Slf4j est une API qui vous permet de choisir d'utiliser log4j, logback ou la journalisation jdk par défaut au moment du déploiement au lieu de décider au moment de la compilation (ce qui se produit lorsque vous codez directement sur log4j)

Slf4j fournit également la structure {} qui peut retarder les appels toString () coûteux, en les évitant complètement si l'instruction log n'est pas activée.

Vous pourrez ensuite choisir le moteur ultérieurement.

Newtopian
la source