Tengo un gran proyecto web que usa log4j directamente, junto con muchas bibliotecas de terceros y una combinación de bibliotecas de registro.migrando un proyecto de log4j a slf4j + log4j
- nuestro código base - usa log4j directamente.
- Hibernate: utiliza slf4j y el enlace slf4j-log4j.
- Primavera: utiliza registros comunes. Por lo tanto, utiliza el jcl-over-slf4j bridge api, slf4j itself y slf4j-log4j binding.
- Otras bibliotecas numerosas, que utilizan registros comunes o log4j.
Estoy considerando migrar nuestro propio código base a slf4j api, pero no estoy seguro si los beneficios son lo suficientemente fuertes y vale la pena el esfuerzo. Actualmente estoy al tanto de los siguientes beneficios:
- Cleaner api.
- Mejoras de rendimiento: la capacidad de utilizar métodos de registro parametrizados.
- Posibilidad de cambiar fácilmente a logback en el futuro (actualmente el logback está descartado).
- No hay necesidad de frascos adicionales, ya que los tengo.
¿Hay algún otro beneficio? ¿Hay algún inconveniente del que no tengo conocimiento todavía?
Spring no utiliza SLF4J, usa Apache Commons Logging – skaffman
Java logging y sus 350,000 implementaciones diferentes: qué PITA. Buena suerte @Yoni. –
Personalmente, creo que el método String.format como la semántica de los métodos de registro vale la pena. No más isDebugEnabled() para llamadas de registro caras :) – extraneon