2017-02-02 1 views
0

soapui (opensource)에 다음과 같은 그루비 스크립트를 만들었습니다.soapui 용 groovy 클래스에서 logger 사용

import org.apache.log4j.Logger 
class Test{ 

    static String hello(){ 
     def mylog = Logger.getLogger("") 
     mylog.info("Hello") 
     return mylog 
    } 
} 

log.info Test.hello() 
log.info loge here 

그것은 오류 메시지 및 실행을 검색하지 않지만, 내가 무엇을 찾고 있습니다되는 정보 로그 (mylog.info)에서 문자열을 검색하지 않습니다.

처음에는 'log.info'가 만들 것이라고 생각했는데, 이것은 sopaui groovy 스크립트로 작업 할 때 println과 동등한 것입니다. 하지만 클래스에서 로그를 쓰려고 할 때, 클래스는 기본적으로 'log.info'를 알지 못합니다. 그래서 'log4j.Logger'를 사용했지만 여전히 누락 된 부분을 모르겠습니다. 클래스 외부

나는 (첫 번째는 내 그루비 클래스에서 하나와 두 번째 soapui의 하나입니다) 두 로거 객체의 값을 출력하기 위해 두 log.info를 넣고이 내가 가진 것입니다 :

Thu Feb 02 17:10:56 CST 2017:INFO:[email protected]    
Thu Feb 02 17:10:56 CST 2017:INFO:[email protected] 

@ 뒤에 오는 것을 제외하고는 동일하게 보입니다. 내 클래스가 정보 로그를 쓰지 않는 이유의 일부인 경우 그 숫자가 무엇을 나타내지는 모르겠다.

누군가가 나를 도와 주시면 감사하겠습니다.

+0

당신이 사용하고자 할 네가 수업 중에'log'? – Rao

+0

예, 클래스가 무엇을하고 있는지 추적 할 수 있도록 다른 로그를 인쇄 할 수 있어야합니다. – onlyMoneyNotTalent

답변

1

사소한 문제로 보입니다. log 변수가 Groovy Script 범위에서 이미 사용할 수 있기 때문에

, 당신은 단지 아래와 같은 방법으로 그 전달해야합니다

그루비 스크립트

class MyTest{ 
    static String testLogging(log){ 
     log.info("Hello") 
    } 
} 
MyTest.testLogging(log) 

enter image description here

관련 문제