在集成测试期间登录Grails

Chr*_*ton 5 testing integration grails log4j

在执行集成测试时,我一直在努力争取显示日志消息(无论是文件还是控制台).我假设我可以使用以下代码添加日志消息:

log.debug "Some useful information here"
Run Code Online (Sandbox Code Playgroud)

我已注释掉以下内容_GrailsWar.groovy:

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

正如这里建议的那样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
    }

}
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么在集成测试期间我看不到我的日志消息?

非常感谢你的时间.

Chr*_*ton 6

我终于找到了解决自己问题的方法.为了记录集成测试,我在顶部附近添加了以下行:

import org.apache.commons.logging.LogFactory
Run Code Online (Sandbox Code Playgroud)

然后在课堂上我添加了以下内容:

def log = LogFactory.getLog(getClass()) 
Run Code Online (Sandbox Code Playgroud)

这来自:http://grails.1312388.n4.nabble.com/Problems-with-Logging-td1360669.html

然后我可以做日志记录,比如

log.debug('*** It works! ***');
Run Code Online (Sandbox Code Playgroud)


rlo*_*ang 0

查看用户邮件列表上最近的线程。
您可能遇到同样的问题吗?

编辑:嗯,这可能是你已经做过的,抱歉。