Devo aggiornare log4j a slf4j [chiuso]


10

Stiamo esaminando la nostra applicazione Web JEE per alcuni refactoring pianificati e uno dei suggerimenti è sostituire log4jcon logbackoslf4j

Il team non è chiaro se dovremmo farlo - perché attualmente vogliamo seguire se non è rotto, non aggiustare in quest'area.

Modifica: non sto chiedendo un confronto tra i framework di registrazione, ma se è un prezioso elemento di refactoring cambiare il framework quando siamo abbastanza soddisfatti di log4j

Risposte:


18

Una domanda importante che dovresti prendere in considerazione: costruisci una libreria che viene utilizzata da qualcun altro o costruisci il prodotto finale?

Nel primo caso, SLF4j è molto importante, perché qualcuno integrerà la tua libreria nel suo software che ha già la registrazione in atto e sarebbe bello se le tue classi lo usassero.

Nel secondo caso, direi che puoi lasciarlo così com'è. Forse pensi di usare slf4j sul prossimo progetto.


7

Non farlo. Meglio dedicare del tempo all'implementazione di funzioni utili e preziose.


6
-1: la registrazione deve essere la migliore possibile!

7
Quindi log4j, che usano, non è abbastanza utile? Sostituire i framework solo perché è possibile, è una perdita di tempo. L'OP ha anche dichiarato che la registrazione non è stata interrotta.
Martin Wickman,

1
Non lo voterei. Martin potrebbe avere ragione. Se Jose ha del prodotto finito (non una biblioteca, vedi la mia risposta) dovrebbe lasciarlo così com'è e trascorrere del tempo altrove ...
Tim Büthe

2
@ Thorbjørn, no, la registrazione (come le caratteristiche in generale) ha bisogno di essere buono come necessario . Se non hanno problemi con Log4J, (tra l'altro non ne hai citato nessuno che renderebbe necessario sostituirlo), molto probabilmente ci sono usi migliori del loro tempo.
Péter Török,

1
-1: la preferenza incondizionata l'una rispetto all'altra è IMHO errata. Prova a confrontare questa risposta con la condizionalità della risposta di Tim Bueth.
Ajeet Ganga,

1

Se Log4J funziona per te, non c'è motivo di cambiarlo. In caso contrario, cerca un'alternativa che fa ciò di cui hai bisogno, che può essere o meno slf4j.

Solo perché qualcuno dice che qualcosa è più bello di qualcos'altro non dovrebbe mai essere un motivo per cambiare l'intera applicazione (o per adottare qualcosa di nuovo).


0

Slf4j è un'API che ti consente di scegliere se utilizzare log4j, logback o la registrazione jdk predefinita al momento della distribuzione invece di decidere al momento della compilazione (che è ciò che accade quando si codifica direttamente su log4j)

Slf4j fornisce anche il {} -construct che può ritardare le costose chiamate toString (), evitandole del tutto se l'istruzione di registro non è abilitata.

È quindi possibile scegliere il motore in un secondo momento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.