我是spock框架和groovy的新手。 在我的测试项目中,我试图将log4j配置设置为'INFO',但是当我单独或通过'gradle test'运行spock'Specification'类时,它似乎记录了所有消息。
这是我的'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
我的'service'类似乎记录了调试消息
@Log4j
class PasswordResetService extends BaseService {
def updateCustomerPassword(String oldpassword, String newpassword, String accessToken){
log.debug("new password "+ newpassword)
}
}
我错过了什么。
感谢。
答案 0 :(得分:0)
在您的服务中:
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配置,我相信有些东西可能会被删除。