2016-10-02 3 views
0

Hibernateからパフォーマンス統計を取得しようとしています。私はすでに春の文脈で休止状態の統計を有効にしました。Hibernateがパフォーマンスログを表示しない

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

しかし、私はデバッグログから空の収集を取得しています。

23:01:52.075 [メイン]デバッグorg.hibernate.stat.Statistics - HQL:{}、時間:{} MS、行:{}私は休止バージョン3.6を使用してい

+0

*デバッグログから空のコレクトを取得していない*:混乱しています。何が起こると思っていますか?代わりに何が起こりますか?一面では、なぜ完全に廃止され、維持されていないHibernateのバージョンを使用していますか? –

答えて

0
が、これはロガーの問題である

を回し

いくつかのデバッグをした、私はHQL、時間の両方を参照してください、行は、正しい情報が含まれています。しかし、ロガーは正しいフォーマットを印刷していません。私たちはlogback 1.0.12を使用していますが、これが問題の原因になるのだろうか?

@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(); 
関連する問題