spring
  • hibernate
  • logging
  • log4j
  • hql
  • 2016-11-08 13 views 0 likes 
    0

    ログにihbernateによって実行されたSQLクエリを表示したいとします。Hibernateのlog4j設定

    これは私の現在のlog4jの設定です:

    <?xml version="1.0" encoding="UTF-8" ?> 
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
    <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> 
    
    <appender name="CA" class="org.apache.log4j.ConsoleAppender"> 
        <layout class="org.apache.log4j.PatternLayout"> 
        <param name="ConversionPattern" value="%d{dd-MM-yyyy HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n" /> 
        </layout> 
    </appender> 
    
    <root> 
        <level value="info" /> 
        <appender-ref ref="CA" /> 
    </root> 
    
    <logger name="org.hibernate.SQL" additivity="false"> 
        <level value="debug" /> 
        <appender-ref ref="CA" /> 
    </logger> 
    
    <logger name="org.hibernate.hql" additivity="false"> 
        <level value="debug" /> 
        <appender-ref ref="CA" /> 
    </logger> 
    
    <logger name="org.hibernate.stat" additivity="false"> 
        <level value="trace" /> 
        <appender-ref ref="CA" /> 
    </logger> 
    
    </log4j:configuration> 
    

    しかし、私はまだorg.hibernate.stat.internal.ConcurrentStatisticsImplでヌルを取得しています:

    08-11-2016 09:54:39,318 [http-bio-8080-exec-8] DEBUG org.hibernate.stat.internal.ConcurrentStatisticsImpl - HHH000117: HQL: null, time: 1ms, rows: 4 
    

    どのように私は完全なSQLの代わりHQL: nullを記録することができますか?私は私のlogj4-設定に次を追加実行されるクエリログインするに

    +0

    はあなたのhibernate.cfg.xmlの – kuhajeyan

    +0

    はいに<プロパティ名=「show_sql」>真を有効にする必要があります。私は多くのSQLログを持っていますが、DEBUG org.hibernate.stat.internal.ConcurrentStatisticsImplでヌルだけを取得しています –

    答えて

    0

    <!-- log Hibernate SQL Statements without parameters --> 
    <logger name="org.hibernate.SQL" additivity="false"> 
        <level value="DEBUG" /> 
        <appender-ref ref="console" /> 
    </logger> 
    <!-- add logging of parameters of the sql statements --> 
    <logger name="org.hibernate.type.descriptor.sql" additivity="false"> 
        <level value="TRACE" /> 
        <appender-ref ref="console" /> 
    </logger> 
    
    +0

    'org.hibernate.stat'を削除すると、統計ログがオフになります。しかし、それらの統計情報からSQLを表示して、削除しないようにしたいと考えています。 –

    +0

    クエリの実行時間を表示する統計が必要です –

    +0

    このロガーが必要です。私は私の答えを更新しました。 – jaysee

    関連する問題