2016-04-08 3 views
4

マイ春ブートアプリケーションLogbackとHibernateの特定のログを構成したにもかかわらず春ブーツとLogbackとコンソールに休止ロギングSQLを避けることができませんクエリを含むログをファイルhibernate.logに転送します。しかし、私もこの構成で起こっているはずのコンソールでのクエリを避けたいと思います。は続けて、コンソールでのHibernateクエリを示す

私には何が欠けていますか?

+0

'hibernate.show_sql'設定は有効になっていますか?もしそうなら、ただそれを無効にする –

答えて

6

hibernate.show_sqltrueに設定すると、HibernateはSQLステートメントをコンソールに出力します(ログにはorg.hibernate.SQLと混同しないでください)。 SqlStatementLoggerは、SQL文とそのlogStatementがどのように見えるのロギングを担当して:あなたは、コンソール上のクエリを表示したくない場合は、

ので
public void logStatement(String statement, Formatter formatter) { 
    if (format) { 
     if (logToStdout || LOG.isDebugEnabled()) { 
      statement = formatter.format(statement); 
     } 
    } 
    LOG.debug(statement); 
    if (logToStdout) { 
     System.out.println("Hibernate: " + statement); 
    } 
} 

を、ちょうどfalseに設定するか、単にそれを完全に除去することにより、hibernate.show_sqlを無効にします。春ブーツでは、ちょうどあなたのapplication.propertiesにこれを追加します。

spring.jpa.show-sql=false 
+1

はそれがとても簡単かもしれないとは思わなかった。ありがとう – garci560

+0

LOG.isDebugEnabled()は、logbackなどのロガー設定によっても制御されることを意味します – xiaoyifang

+0

私はlogToStdoutの部分を指していました –

0

私はちょうど私はちょうどあなたがかもしれませんがのorg.hibernate.SQLは、春のブートJUnitテストでデバッグする可能性があり、別の設定がある気づいたことを共有したいと思いました

spring.jpa.show-sql=false 

spring.jpa.properties.hibernate.show_sql=false 

を...設定した

設定すると、Springアプリケーションの* .propertiesファイルに

debug=true 

が表示されます。

これをtrueに設定すると、show-sql設定が上書きされ、trueに設定されます。

Brgds

関連する問題