为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Grails中记录SQL语句

如何在Grails中记录SQL语句

慕工程0101907 2019-11-28 10:39:54
我想在控制台或文件中登录Grails所做的所有查询,以检查性能。我没有成功配置此配置。任何想法都会有所帮助。
查看完整描述

3 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

设置


datasource {

...

logSql = true

}

在DataSource.groovy中(按照这些说明进行操作)足以使其在我的环境中工作。常见问题解答的某些部分似乎已过时(例如,“多对多列倒退”问题),因此在此期间这也可能有所更改。


查看完整回答
反对 回复 2019-11-28
?
梦里花落0921

TA贡献1772条经验 获得超5个赞

我发现执行以下操作更为有用,它使Hibernate的日志记录功能可以将SQL和绑定变量一起记录在日志中(这样您就可以看到传递给调用的值,并可以轻松地在编辑器中复制SQL或其他方式)。


在您的中Config.groovy,将以下内容添加到您的log4j块中:


log4j = {


    // Enable Hibernate SQL logging with param values

    trace 'org.hibernate.type'

    debug 'org.hibernate.SQL'

    //the rest of your logging config

    // ...

    }


查看完整回答
反对 回复 2019-11-28
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

对于grails 3. *


选项#1将以下内容添加到logback.groovy


logger("org.hibernate.SQL", DEBUG, ["STDOUT"], false)

logger("org.hibernate.type.descriptor.sql.BasicBinder", TRACE, ["STDOUT"], false)

要么


选项#2将以下内容添加到application.yml中的dataSource中。但是,这种方法不会记录参数值


environments:

  local:

    dataSource:

        logSql: true

        formatSql: true


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 568 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信