2017-02-09 1 views
2

파이프 라인에서 사용해야하는 젠킨스 파이프 라인이나 라이브러리를 만들 때 제공되는 로깅 옵션을 사용하여 코드를 디버그하는 것이 어렵습니다. 순간 나는이에 로그인 해요 : - 예를 들어,젠킨스 파일에서 로그 쓰기

node { 
    ... 
    sh "echo ${thingtoshow}" 
} 

을 단점은 그루비/자바 구체적인 내용에 관해서이 매우 강력하지 점이다 그것은 나를 바로 객체의 내용을 덤프하는 것을 허용하지 않을

그것은 실제 로그에 엉망 생성

:

[Pipeline] sh 
[workspace] Running shell script 
+ echo 'things' 
things 

가 어떻게 난 그냥 로그 출력의 한 줄 내를 얻기 위해 로그를 쓸 수를 젠킨스 콘솔?


편집 : 코드 예제는 표시되지 않습니다,하지만 당신은 echo 무대 사용할 수

답변

5

젠킨스 파이프 라인에 대한 Groovy libraries을 공유 개발할 때 특히 유용합니다 비록 :

node { 
    echo "qwerty" 
} 

을 다음 두 줄이 표시됩니다.

[Pipeline] echo 
qwerty 

Unfortuna 두 라인을 생성하지만, 내가 아는 한 그것은 가장 짧은 폼이다.

+0

감사합니다 (I 장님) - 이것은 두 가지 문제 중 하나 이상 해결 - 덜 혼란,하지만 여전히 아니다 적절한 로거와 같습니다. – pagid

+0

올바른 로거에서 무엇을 찾으십니까? 예 : 'echo'단계에서 누락 된 부분은 무엇입니까? –

+0

그럼 로거에 어떤 객체라도 던져 줄 것이고, 유용한 정보를 출력해야합니다.'echo currentBuild'는 stackstrace를 남겨 둡니다. – pagid

1

코어 Java의 로거를 호출 할 수도 있습니다.

import java.util.logging.Logger 

Logger logger = Logger.getLogger('org.example.jobdsl') 
logger.info('Hello from a Job DSL script!') 

위의 당신에게 http://yourjenkinsurl/log/all에서이 같은 항목 줄 것이다 :

Jan 22, 2018 3:27:58 PM INFO org.codehaus.groovy.reflection.CachedMethod invoke 
Hello from a Job DSL script!