How can I output from java code to the Jenkins console?

假如想象 提交于 2019-12-12 12:45:35

问题


I have java code with many System.out.println() added. One of them is at the start of the "main" method. When I start the code in NetBeans, I see the console output with all these println.

When I start the class in Jenkins/ant with fork&spawn set to true (as a separate task), it runs, but no println is put to the Jenkins console.

Can I make System.out.println to write to Jenkins console?

I have found an interesting repaired Jenkins issue, they say "a variable 'out' of the object model can be used to write messages to the build console" How?

Edit: In the same project, the applications that are not spawned output their stdout into the Jenkins console OK.

Edit 2. Please, Notice that I want to output to Jenkins console, not to a file.


回答1:


If you overriding the method perform then, use BuildListener instance to get logger instance and write using print method. Like this

@Override
public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) {

    // This is where you 'build' the project.       /
    // This also shows how you can consult the global configuration of the builder
    listener.getLogger().println("Inside the Perform Method");
    return true;
}



回答2:


TaskListener of Jenkins has a method getLogger() using which you can print in the console output. System.out.println will not be redirected to Console output in Jenkins.



来源:https://stackoverflow.com/questions/24063233/how-can-i-output-from-java-code-to-the-jenkins-console

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!