我是Spock框架和Groovy的新手。在我的测试项目中,我试图将Log4J配置设置为"信息",但是当我单独或通过" Gradle Test"单独运行SPOCK"规范"类时,它似乎会记录所有消息。
这是我的'log4jconfig.groovy'文件
log4j {
appender.stdout = "org.apache.log4j.ConsoleAppender"
appender."stdout.layout"="org.apache.log4j.PatternLayout"
appender.scrlog = "org.apache.log4j.FileAppender"
appender."scrlog.layout"="org.apache.log4j.TTCCLayout"
appender."scrlog.file"="script.log"
rootLogger="info,scrlog,stdout"
}
和我的'spockconfig.groovy'
import org.apache.log4j.*
import groovy.util.logging.*
def config = new ConfigSlurper().parse(new File('src/test/resources /log4jconfig.groovy').toURL())
PropertyConfigurator.configure(config.toProperties())
Logger log = Logger.getInstance(getClass())
log.level = Level.INFO
和我的"服务"课程似乎还记录了调试消息
@Log4j
class PasswordResetService extends BaseService {
def updateCustomerPassword(String oldpassword, String newpassword, String accessToken){
log.debug("new password "+ newpassword)
}
}
我错过了任何东西。
谢谢。
在您的服务中:
log.info "new password "+ newpassword //writes an info-level message
log.warn "new password "+ newpassword //writes a warning-level message
log.error "new password "+ newpassword //guess what
log.debug "new password "+ newpassword //the one that you were executing
重新检查Spock配置,我相信可能会从那里删除一些东西。