2017-03-06 2 views
0

Je suis novice en matière de framework spock et de groovy. Dans mon projet de test, j'essaie de configurer la configuration de log4j sur 'INFO' mais lorsque j'exécute des classes spock 'Specification' individuellement ou via 'gradle test', il semble que tous les messages soient enregistrés.Définir le niveau de journalisation approprié en utilisant log4j dans le framework spock groovy

ici est mon 'log4jconfig.groovy' fichier

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" 
} 

et mon '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 

et mon 'service' de classe semblent se connecter même des messages de débogage

@Log4j 
class PasswordResetService extends BaseService { 
    def updateCustomerPassword(String oldpassword, String newpassword, String accessToken){ 
     log.debug("new password "+ newpassword) 
    } 
} 

Ai-je manqué quoi que ce soit.

Merci.

+0

Je ne pouvais toujours pas faire fonctionner log4j pour mon projet groovy. Aidez-moi, s'il vous plaît. – venu88

Répondre

0

Dans votre service:

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 

Revérifier la configuration spock, je crois que certaines choses peut être retiré de là.