Mi aplicación web usa Java, la implementación JPA de Hibernate (EntityManager) y Spring. ¿Cuáles son mis opciones de registrador y qué recomendarías? Idealmente, la configuración sería simple (un archivo de configuración para Hibernate, Spring y mi código).Registrador recomendado para usar con Java, Hibernate y Spring
Respuesta
Al crear aplicaciones a partir de varios marcos, a menudo es necesario ajustar los registradores existentes, ya sean log4j o JUL o JULI o lo que sea. La aplicación estándar para esto es Simple Logging Facade for Java (SLF4J). Incluso si su aplicación no necesita SLF4J ahora, puede que quiera agregar una biblioteca que la necesite, y es su mejor esperanza para un archivo de configuración a largo plazo.
Teniendo esto en cuenta, debe atenerse a los paquetes de registro que admite SLF4J, pero generalmente se reduce a java.util.logging (JUL) o Apache's log4j. Esto ha sido un subject for debate durante algún tiempo y puede encontrar muchas opiniones en ambos lados.
Personalmente, creo que es desafortunado que el registro de Java esté en this situation, y usaré lo que sea que me da el menor dolor para la situación.
log4j es el registrador estándar que uso. Puede configurar niveles de registro y archivos de registro por paquete para que Hibernate, Spring y su código puedan ir a los propios archivos de registro.
que utilizan la API Apache Commons Logging, con un archivo log4j de configuración (el archivo log4j configuración es simple, fácil para un principiante de entender y tiene numerosos ejemplos para trabajar.
Yo prefiero usar los Commons Logging API debido a que su agnóstico sobre su archivo de configuración. Se puede configurar a través de formatos de archivo para cualquier número de paquetes de registro populares.
Aquí hay una configuración simple de log4j que imprimirá información de depuración para sus propios paquetes, INFO para Spring e hibernate, y WARN para todo lo demás:
# Global logging configuration
log4j.rootLogger=WARN, stdout
log4j.category.org.mydomain.org=DEBUG
log4j.category.org.hibernate=INFO
log4j.category.org.springframework=INFO
# CONSOLE appender not used by default
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t] %c - %m%n
Nadie fue despedido por elegir log4j.
También echa un vistazo a slf4j.
Hibernate ya confía en SLF4J. A menos que me equivoque, la versión actual de Spring se basa en el registro de recursos comunes, pero la próxima versión también usará SLF4J. De todos modos, podría consolidate all logging through SLF4J (vea la sección en jcl-over-slf4j.jar). Una vez hecho esto, puede elegir cualquiera de java.util.logging, log4j o logback como su marco de trabajo de registro subyacente.
En general, el registro de Commons es innecesario y una mala opción para aplicaciones web (y aplicaciones independientes). Algunos buena escritura sobre por qué:
- 1. ¿Cómo usar JodaTime con Spring e Hibernate?
- 2. Problemas con Spring Hibernate
- 3. MySQL UTF8 con Hibernate 3 y Spring
- 4. Hibernate, Spring y SLF4J Enlace
- 5. Alternativas a Freemarker al usar Spring/Hibernate?
- 6. Inserciones masivas con Spring/Hibernate
- 7. Uso recomendado de Spring @ @Required Anotación
- 8. Hibernate Validator, ResourceBundleLocator personalizado y Spring
- 9. Java Frameworks War: Spring e Hibernate
- 10. Spring Hibernate maven POM
- 11. Spring + Hibernate + JPA
- 12. Spring AMQP/RabbitMQ y Hibernate Transaction Mananger
- 13. Spring: hibernate + ehcache
- 14. Hibernate 4 Multi-tenencia y Spring 3 Hibernate
- 15. ¿Cómo se compara Spring para Python con Spring para Java?
- 16. Cómo obtener Spring JPA, Hibernate y OSGi para jugar bien?
- 17. Spring vs Hibernate
- 18. hibernate restrictions.in con y, cómo usar?
- 19. proyecto noob para aprender Spring/Hibernate
- 20. NoClassDefFoundError con Spring maven hibernate org/hibernate/ejb/HibernatePersistence
- 21. Relaciones entre Spring, Hibernate, JDBC
- 22. ¿Puedo usar clases estáticas para mi registrador?
- 23. DAO, Spring e Hibernate
- 24. Inserciones por lotes con Hibernate & Spring
- 25. Qué tecnologías son mejores para mi aplicación: Struts con Hibernate o Spring con Hibernate
- 26. Transacción anidada usando Spring e Hibernate
- 27. ¿Qué fuente de datos combinados debería usar para Spring 3.1.0, Hibernate 4.0.1.Final y MySQL 5.1?
- 28. Spring hibernate Transaction Logging
- 29. ¿Puedo usar Spring Social con Spring Security?
- 30. ¿Puedo usar Spring en GAE?
duplicados de http://stackoverflow.com/questions/354837/whats-up-with-logging-in-java – Jherico
... tal vez esta Q es específico sobre Hibernate y Spring –
Por desgracia, solo una respuesta menciona algo sobre el uso del registro en un método que tiene una relevancia específica para Spring e Hibernate. En cualquier caso, la verdadera respuesta es 'cualquiera de las implementaciones de registro hará lo que quiera ya que la mayoría de las bibliotecas como Spring o hibernate son independientes de la ejecución de los registros'. – Jherico