2011-01-03 2 views
5

Я пытался часами пытаться отображать сообщения о регистрации (как в файле, так и в консоли) при выполнении интеграционных тестов. Я предполагал, что я мог бы использовать следующий код, чтобы добавить сообщение журнала:Вход в систему Grails во время тестирования интеграции

log.debug "Some useful information here" 

Я закомментирована следующую строку в _GrailsWar.groovy:

target(startLogging:"Bootstraps logging") { 
// do nothing, overrides default behaviour so that logging doesn't kick in  
} 

как предложено здесь http://jira.codehaus.org/browse/GRAILS-4470

log4j сечение Config.groovy выглядит следующим образом:

// log4j configuration 
log4j = { 
    // Example of changing the log pattern for the default console 
    // appender: 
    // 
    appenders { 
     //console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n 
     //console name: 'stdout', layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss,SSS} %5p %c{1} - %m%n') 
     //file name: 'hibeFile', file: 'hibe.log', layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss,SSS} %5p %c{1} - %m%n') 
     file name:'file', file:'C:/Users/Christopher/Documents/NetBeansProjects/TestProject/smyh.log', append: false 
     console name:'stdout' 
    } 

    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' 

    debug 'grails.app' 

    info 'grails.app' 

    root { 
     // change the root logger to my tomcatLog file 
     error 'file', stdout 
     info 'file', stdout 
     warn 'file', stdout 
     debug 'file', stdout 
     additivity = true 
    } 

} 

Кто-нибудь знает, почему я не вижу свои сообщения в журнале во время тестов интеграции?

Большое спасибо за ваше время.

ответ

0

Взгляните на this recent thread на список рассылки пользователей.
Возможно, вы столкнулись с the same issue?

Редактировать: хорошо, это, вероятно, то, что вы уже сделали, извините.

+0

Спасибо за предложение. Я не видел конкретного почтового списка, который вы упомянули, хотя я столкнулся с ссылкой, которая была включена, что предполагает изменение файла _GrailsWar.groovy. К сожалению, я не смог выработать решение из потока. –

6

Я, наконец, нашел решение своего вопроса. Для того, чтобы сделать регистрацию в интеграции тестов, я добавил следующую строку в верхней:

import org.apache.commons.logging.LogFactory 

Тогда в классе я добавил следующее:

def log = LogFactory.getLog(getClass()) 

Это было из: http://grails.1312388.n4.nabble.com/Problems-with-Logging-td1360669.html

Тогда я мог бы вести каротаж, например

log.debug('*** It works! ***'); 
+0

Он работает только для кода в тестовом классе – pinei

Смежные вопросы