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?

¿Fue útil?

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
scroll top