Tomcat sql记录器卡住了';在';生产中
我对grails非常熟悉,但是我的sql日志记录似乎总是在生产中打开(tomcat6)。它在开发中可以正常工作,我可以在开发中打开和关闭它。我已禁用数据源中的所有日志记录。groovyTomcat sql记录器卡住了';在';生产中,tomcat,grails,Tomcat,Grails,我对grails非常熟悉,但是我的sql日志记录似乎总是在生产中打开(tomcat6)。它在开发中可以正常工作,我可以在开发中打开和关闭它。我已禁用数据源中的所有日志记录。groovy dataSource { ... driverClassName = 'com.mysql.jdbc.Driver' dialect = org.hibernate.dialect.MySQL5InnoDBDialect logSql = false //<-- still
dataSource {
...
driverClassName = 'com.mysql.jdbc.Driver'
dialect = org.hibernate.dialect.MySQL5InnoDBDialect
logSql = false //<-- still logs sql in production
properties {
...
}
}
environments {
production {
dataSource {
logSql = false //<-- still logs sql in production
}
}
}
最后,我正在使用“war”命令构建我的项目。有人知道还有什么地方可以设置吗 最新版本将其指定为“logSql”,但我记得很久以前就一直使用“loggingSql”
还请检查,我似乎记得我第一次参加生产战时遇到过这个问题。我从datasource部分删除了logSql=false,并根据需要在每个环境中使用它。事实上,我从来没有把logSql=false放进去——我要么完全删除它,要么注释掉它。我只有在需要时才有logSql=true
不确定这是根本原因还是其他原因,但它解决了问题,此后我就再也没有遇到过问题。您是否正在外部化数据源属性?如果是,则该文件可能会覆盖loggingSql属性 我认为您应该使用“loggingSql”属性。我们正在生产中使用它。它工作正常(Grails2.0版本)
明天晚上我将尝试我们的下一个生产版本:)sry abt-这没有多大帮助。我只能想到外部化配置可能会覆盖值(),我也在想同样的事情…或插件。我下一步会检查它
log4j = {
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate',
'net.sf.ehcache.hibernate'
warn 'org.mortbay.log'
}
dataSource {
loggingSql=true
}
environments {
development {
dataSource {
username = "test"
password = "test"
loggingSql=true
}
}
production {
dataSource {
username = "prod"
password = "prod"
loggingSql=false
}
}
}