sql logger застрял "на" в производстве - PullRequest
4 голосов
/ 30 марта 2012

Я довольно хорошо знаком с Grails, но, похоже, моя sql-регистрация всегда включена (tomcat6) Он работает как положено в разработке, где я могу включать и выключать его. Я отключил все записи в моем datasource.groovy ...

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
            }
     }
 }

и log4j в моем config.groovy довольно просты ...

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'
}

Наконец, я строю свой проект с помощью команды 'war'. Кто-нибудь знает, где еще это может быть установлено?

Ответы [ 3 ]

2 голосов
/ 06 апреля 2012

Кажется, я помню эту проблему, когда впервые начал жить с производственной войной.Я удалил logSql = false из раздела источника данных и просто использовал его в каждой среде по мере необходимости.На самом деле я никогда не ставлю logSql = false - я либо удаляю его полностью, либо комментирую.У меня только logSql = true, когда это необходимо.

Не уверен, что это была основная причина или что-то еще, но это исправило, и у меня не было проблем с тех пор.

0 голосов
/ 07 апреля 2012

Вы экстернализуете свойства источника данных?Если да, то этот файл может переопределять свойство loggingSql

Я думаю, вам следует использовать свойство 'loggingSql'. Мы используем его на производстве и работаем нормально (в версии Grails 2.0)

dataSource {
    loggingSql=true
}
environments {
    development {
        dataSource {
            username = "test"
            password = "test"
            loggingSql=true
        }
    }

    production {
        dataSource {
             username = "prod"
            password = "prod"
            loggingSql=false
        }
    }
}
0 голосов
/ 03 апреля 2012

Последние документы указывают его как 'logSql', но я всегда использовал 'loggingSql', насколько я помню.

Также проверьте, http://grails.1312388.n4.nabble.com/Hibernate-Sql-Logging-in-Integration-tests-not-working-td3527685.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...