У меня есть несколько проблем с регистрацией Grails во время теста [running grails test-app, Grails 1.3.5]:
1
У меня есть отладочное/информационное ведение журнала в моем приложении, и он отлично работает при запуске приложения [grails run-app]. Однако, когда я хочу протестировать мое приложение, ни одно из них не записывается в файлы System.out/System.err или файл appender. Как включить его?
У меня есть строки log.debug() и log.info() в классах домена. в контроллерах и в классах, расположенных в src/ groovy.
Когда я хотел включить ведение журнала во время теста, я просто скопировал настройки из моей среды dev и изменил корневой журнал с информацией на debug:
appenders {
file name: 'file', file: 'mylog.log'
}
root {
debug 'stdout', 'file'
}
debug 'grails.app'
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'
Как я уже говорил. Все работает нормально, если я запускаю приложение в среде dev. Это только тест, который я не вижу в моих журналах.
Что-то, что можно здесь упомянуть: я вижу строки log.info(), указанные в классах Test.
2 Я не могу указать log.debug в классах Test. При попытке сделать log.debug я получаю исключение метода. log.info работает нормально. Как так? Я думал, что это то же самое, что и внутри контроллеров/доменов.
3 Вся информация, зарегистрированная в тестовых классах во время теста, отправляется в System.err вместо System.out. Является ли grails даже с помощью конфигурации log4j из Config.groovy?
Спасибо заранее, Krystian