2017-02-09 14 views
2

パイプラインで使用するJenkinsパイプラインまたはライブラリを作成するときは、提供されているログオプションを使用してコードをデバッグすることは困難です。現時点では私はこれでログインしている: - 例えばJenkinsfileからのログの書き込み

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

を欠点は、Groovyの/ Javaの具体的な詳細に来るとき、これは、それは非常に強力ではないということですそれは、実際のログ内の混乱を作成し、私はすぐに

をオブジェクトの内容をダンプすることができません:

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

は、どのように私は、内のログ出力の単一の行を取得するには、ログを書くことができますジェンキンスのコンソール?


は編集:ジェンキンスパイプライン

答えて

5

ためGroovy librariesを共有して開発する場合のコード例がそれを示していないが、これは特に有効であるにもかかわらず、あなたはechoのステージを使用することができます。

node { 
    echo "qwerty" 
} 

それは2行になります:

[Pipeline] echo 
qwerty 

Unfortunaそれは2行を生成しますが、私が知る限り、これは最短形式です。

+0

感謝を(私は盲目だ) - これは、2つの問題のうちの少なくとも1つ解決 - レス混乱、まだないです適切なロガーに等しい。 – pagid

+0

適切なロガーで何をお探しですか?例えば。 'echo'ステップで何が欠けていますか? –

+0

さて、私はどんなオブジェクトでもロガーに投げることを期待しています。有用なものを出力するはずです。 'echo currentBuild'はstackstraceを残します。 – pagid

1

コアJavaのLoggerを起動することもできます。

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! 
関連する問題