如何在Grails中记录SQL语句

我想在控制台或文件中登录Grails所做的所有查询,以检查性能。


我没有成功配置此配置。


任何想法都会有所帮助。


慕工程0101907
浏览 573回答 3
3回答

Helenr

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

梦里花落0921

我发现执行以下操作更为有用,它使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    // ...    }

阿波罗的战车

对于grails 3. *选项#1将以下内容添加到logback.groovylogger("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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server