2016-10-02 5 views
0

Ich versuche, Leistungsstatistiken von Hibernate zu erhalten. Ich habe die Winterschlafstatistik bereits im Frühling aktiviert.Hibernate zeigt das Leistungsprotokoll nicht an

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="packagesToScan" value="org.some.package" /> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop> 
      <prop key="hibernate.hbm2ddl.auto">create</prop> 
      <prop key="hibernate.show_sql">true</prop> 
      <prop key="hibernate.format_sql">true</prop> 
      <prop key="hibernate.generate_statistics">true</prop> 
      <prop key="hibernate.use_sql_comments">true</prop> 
     </props> 
    </property> 
</bean> 

Allerdings bekomme ich eine leere Sammlung aus dem Debug-Protokoll.

23: 01: 52,075 [main] DEBUG org.hibernate.stat.Statistics - HQL: {}, time: {} ms, Zeilen: {}

I Hibernate Version 3.6 verwenden.

+0

* Ich bekomme keine leere Sammlung aus dem Debug-Log *: Ich bin verwirrt. Was erwartest du und was passiert stattdessen? Warum verwenden Sie eine vollständig veraltete, nicht überwachte Version von Hibernate? –

Antwort

0

Ziehen Sie diese ein Logger Ausgabe ist

einige Debug Did, ich sehe beide hql, Zeit, Zeilen korrekte Informationen enthalten. Aber der Logger druckt immer noch nicht das richtige Format aus. Wir verwenden Logback 1.0.12, ich frage mich, ob dies ein Problem verursacht?

@SuppressWarnings({ "UnnecessaryBoxing" }) 
public void queryExecuted(String hql, int rows, long time) { 
    if (isDebugEnabled) { 
     PERF_LOG.debug("HQL: {}, time: {}ms, rows: {}", new Object[] {hql, Long.valueOf(time), Long.valueOf(rows)}); 
    } 
    queryExecutionCount.getAndIncrement(); 
Verwandte Themen