Hibernate logging con log4j
Pregunta
Tengo el siguiente código y todavía no puedo hacer que Hibernate escriba las consultas SQL en el archivo de registro. Los escribe perfectamente en la consola de Eclipse.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="file"
class="org.apache.log4j.RollingFileAppender">
<param name="maxFileSize" value="500KB"/>
<param name="maxBackupIndex" value="5"/>
<param name="File" value="hibernate.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
</layout>
</appender>
<logger name="org.hibernate.SQL">
<level value="info"/>
<appender-ref ref="file"/>
</logger>
<root>
<priority value="info"></priority>
<!-- -->
</root>
</log4j:configuration>
¿Puede alguien explicar por qué? Tengo la sensación de que ese elemento y su elemento tiene que ver con eso, pero no tengo idea de lo que hace este elemento. ¿Puede alguien publicar un enlace o algo donde pueda leer esto?
Solución
org.hibernate.SQL solo registra el SQL en el nivel de depuración, necesita algo como esto:
<logger name="org.hibernate.SQL">
<level value="debug" />
<appender-ref ref="file" />
</logger>
Otros consejos
Configure log4j como sigue:
<logger name="org.hibernate">
<level value="debug"/>
<appender-ref ref="file"/>
</logger>
después de eso, debe configurar " hibernate.show_sql " propiedad de hibernación a verdadero
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow