2017-03-06 4 views
0

私はspockフレームワークとgroovyの両方を初めて使用しています。 私のテストプロジェクトでは、log4jの設定を 'INFO'に設定しようとしていますが、Spock 'Specification'クラスを個別に実行するか、 'gradle test'を通してすべてのメッセージを記録するようです。spock groovyフレームワークでlog4jを使用して適切なロギングレベルを設定してください

は、ここに私の '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) 
    } 
} 
をログに記録するように見えます

何も分かりません。

ありがとうございました。あなたのサービスで

+0

groovyプロジェクトではまだlog4jを動作させることができませんでした。私を助けてください。 – venu88

答えて

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 

スポックの設定を再確認してください、私はいくつかのものがそこから除去することができると信じています。

関連する問題