2012-03-21 4 views
6

2つのgrailsプロジェクトをgrails 2.0にアップグレードして以来、grails-melodyはSQL呼び出しのロギングを停止しました。私はgrails-melodyプラグインのさまざまなバージョンを試しましたが、すべてのバージョン(grails 2.0に移行する前に動作していたバージョンさえも)で同じエラーが発生しました。Grails Melodyプラグインは、grails 2.0以降のSQLコールをログに記録しなくなりました。

私は有用なグーグルを見つけることができないようです。私はGrailsのメロディプラグインに

log4j = { 
    trace 'net.bull.javamelody' 
} 

をトレースデバッグを追加した場合、私は、ログでこれを参照してください。

DEBUG bull.javamelody - datasources found in JNDI: [] 

この問題は本当に狂気私を駆動します。..ここに誰もがこの問題を経験していますか?もしそうなら、あなたは解決策を見つけましたか?

更新日: 新しく作成したプロジェクトでは、Grailsのメロディーは機能しません。私はちょうど1つのドメインクラスとそれに対応するコントローラとビューを持つ新しいgrailsプロジェクト(grails 2.0.0)を作成しました。その後、grails-melodyプラグインをインストールしました。データを挿入しました。 Iは、監視コンソールに見たとき、何のSQLデータが記録されていない..

Graph Tables

答えて

4

部分的な回避策は、DataSource.groovyの休止区間でjdbc.factory_classを設定することです。例:

hibernate { 
    cache.use_second_level_cache = true 
    cache.use_query_cache = false 
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' 
    jdbc.factory_class = 'net.bull.javamelody.HibernateBatcherFactory' 
} 

これは、休止状態を経由するすべてのSQLクエリを記録します。データソースを直接使用するクエリは、まだログに記録されません。

+0

ナイス!試してみる。ありがとう!! –

+0

GORMで動作していることを確認できます。ありがとう!! –

+0

1つ、ダウンタウン:)純粋なSQLコールの解決策を見つける必要があります(パフォーマンスのためにかなりの数を持っています) –

0

私は問題を解決し始めたので、私はataylorの答えを上げた。しかし、私はまだコメントすることはできませんので、ここで投稿します。

JavaMelodyドキュメントのJDBCセクション:JDBCでは、独自のドライバファサードを使用してストレートハイバネートでこれを行う方法の概要を説明しています。 DataSource.groovyを使用して動作させるためのパラメータを決めることができないことを除いて、これもうまくいくと思います。

参考:

<property name="hibernate.connection.driver_class">net.bull.javamelody.JdbcDriver</property> 
    <property name="hibernate.connection.driver">com.mysql.jdbc.Driver</property> 
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/myschema</property> 
    <property name="hibernate.connection.username">myuser</property> 
    <property name="hibernate.connection.password">mypassword</property> 
関連する問題