¿Necesito actualizar log4j a slf4j [cerrado]

10

Estamos revisando nuestra aplicación web JEE para algunas refactorizaciones planificadas y una de las sugerencias es reemplazar log4jcon logbackoslf4j

El equipo no tiene claro si deberíamos hacer esto, porque actualmente queremos seguir si no está roto, no lo arregles en esta área.

Editar: no estoy pidiendo una comparación de los marcos de registro, sino si es un elemento de refactorización valioso para cambiar el marco cuando estamos bastante contentos con log4j

JoseK
fuente

Respuestas:

18

Una pregunta importante que debe tener en cuenta: ¿Construye una biblioteca que es utilizada por otra persona o crea el producto final?

En el primer caso, SLF4j es muy importante, porque alguien integrará su biblioteca en su software que ya tiene un inicio de sesión establecido y sería bueno que sus clases solo lo usen.

En el segundo caso, diría que puedes dejarlo como está. Tal vez piense en usar slf4j en el próximo proyecto.

Tim Büthe
fuente
7

No lo hagas Mejor dedica tu tiempo a implementar funciones útiles y valiosas.

Martin Wickman
fuente
66
-1: ¡el registro debe ser lo mejor posible!
77
¿Entonces log4j, que usan, no es lo suficientemente útil? Reemplazar marcos solo porque es posible, es una pérdida de tiempo. El OP incluso declaró que el registro no estaba roto.
Martin Wickman
1
No rechazaría esto. Martin podría tener razón. Si José tiene algún producto terminado (no es una biblioteca, ver mi respuesta) que sólo debe dejarlo como está y pasar tiempo en otro lugar ...
Tim Büthe
2
@ Thorbjørn, no, el registro (como características en general) debe ser tan bueno como sea ​​necesario . Si no tienen problemas con Log4J (por cierto, tampoco ha citado ninguno que haga necesario reemplazarlo), es probable que haya mejores usos de su tiempo.
Péter Török
1
-1: la preferencia incondicional de uno sobre otro es en mi humilde opinión. Solo trata de contrastar esta respuesta con la condicionalidad de la respuesta de Tim Bueth.
Ajeet Ganga
1

Si Log4J funciona para usted, no hay razón para cambiar eso. Si no es así, busque una alternativa que haga lo que necesita, que puede ser o no slf4j.

El hecho de que alguien diga que algo es más agradable que otra cosa nunca debería ser una razón para cambiar toda su aplicación (o para adoptar ese algo nuevo).

jwenting
fuente
0

Slf4j es una API que le permite elegir si usar log4j, logback o el registro jdk predeterminado en el momento de la implementación en lugar de decidir en el momento de la compilación (que es lo que sucede cuando codifica directamente a log4j)

Slf4j también proporciona la construcción {} que puede retrasar las costosas llamadas a ToString (), evitándolas por completo si la instrucción de registro no está habilitada.

Luego puede elegir el motor más tarde.

Newtopian
fuente