hibernate
Aktivera / inaktivera SQL-logg
Sök…
Anmärkningar
Logga in dessa frågor är långsamma , ännu långsammare än Viloläge vanligtvis är. Det använder också en enorm mängd timmer. Använd inte inloggningsscenarier där prestanda krävs. Använd detta bara när du testar de frågor som Hibernate faktiskt genererar.
Använda en loggningskonfigurationsfil
Ställ in loggningen av följande paket i de loggkonfigurationsfiler du väljer:
# log the sql statement
org.hibernate.SQL=DEBUG
# log the parameters
org.hibernate.type=TRACE
Det kommer förmodligen att finnas vissa logger-specifika prefix som krävs.
Log4j config:
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
Spring Boot application.properties
:
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type=TRACE
Logback logback.xml
:
<logger name="org.hibernate.SQL" level="DEBUG"/>
<logger name="org.hibernate.type" level="TRACE"/>
Använda vilolägeegenskaper
Detta visar dig den genererade SQL, men kommer inte att visa dig de värden som finns i frågorna.
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="hibernateProperties">
<props>
<!-- show the sql without the parameters -->
<prop key="hibernate.show_sql">true</prop>
<!-- format the sql nice -->
<prop key="hibernate.format_sql">true</prop>
<!-- show the hql as comment -->
<prop key="use_sql_comments">true</prop>
</props>
</property>
</bean>
Aktivera / inaktivera SQL-inloggningsfelsökning
Vissa applikationer som använder Viloläge genererar en enorm mängd SQL när applikationen startas. Ibland är det bättre att aktivera / inaktivera SQL-loggen i specifika punkter när du felsöker.
För att aktivera, bara köra den här koden i din IDE när du felsöker tillämpningen:
org.apache.log4j.Logger.getLogger("org.hibernate.SQL")
.setLevel(org.apache.log4j.Level.DEBUG)
Att inaktivera:
org.apache.log4j.Logger.getLogger("org.hibernate.SQL")
.setLevel(org.apache.log4j.Level.OFF)