在spock groovy框架中使用log4j设置适当的日志记录级别

在spock groovy框架中使用log4j设置适当的日志记录级别,groovy,log4j,spock,Groovy,Log4j,Spock,我对spock框架和groovy都是新手。 在我的测试项目中,我试图将log4j配置设置为“INFO”,但当我单独运行spock“Specification”类或通过“gradle test”时,它似乎会记录所有消息 这是我的“log4jconfig.groovy”文件 log4j { appender.stdout = "org.apache.log4j.ConsoleAppender" appender."stdout.layout"="org.apache.log4j.PatternLa

我对spock框架和groovy都是新手。 在我的测试项目中,我试图将log4j配置设置为“INFO”,但当我单独运行spock“Specification”类或通过“gradle test”时,它似乎会记录所有消息

这是我的“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配置,我相信可能会删除其中的一些内容。

我仍然无法让log4j为我的groovy项目工作。请帮帮我。