如何将java代码输出到Jenkins控制台?

如何将java代码输出到Jenkins控制台?,java,logging,ant,jenkins,console,Java,Logging,Ant,Jenkins,Console,我有许多添加了System.out.println()的java代码。其中之一是在“main”方法的开头。当我在NetBeans中启动代码时,我看到控制台输出包含所有这些println 当我在Jenkins/ant中启动fork&spawn设置为true的类(作为一个单独的任务)时,它会运行,但不会将println放入Jenkins控制台 我可以使System.out.println写入Jenkins控制台吗 我发现了一个有趣的问题,他们说“对象模型中的一个变量‘out’可以用来向构建控制台写入

我有许多添加了
System.out.println()
的java代码。其中之一是在“main”方法的开头。当我在NetBeans中启动代码时,我看到控制台输出包含所有这些
println

当我在Jenkins/ant中启动fork&spawn设置为true的类(作为一个单独的任务)时,它会运行,但不会将println放入Jenkins控制台

我可以使System.out.println写入Jenkins控制台吗

我发现了一个有趣的问题,他们说“对象模型中的一个变量‘out’可以用来向构建控制台写入消息”如何

编辑: 在同一个项目中,未生成的应用程序将其
stdout
输出到Jenkins控制台OK

编辑2。
请注意,我想输出到Jenkins控制台,而不是文件

Jenkins的有一个方法
getLogger()
,您可以使用该方法在控制台输出中打印
System.out.println
将不会重定向到Jenkins中的控制台输出。

如果您重写了该方法,请使用BuildListener实例获取记录器实例并使用print方法写入。 像这样

@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;
}

如果您想将进程的输出重定向到Jenkins控制台,例如,因为您调用了写入
System.out
的一些库代码,您可以使用
System.setOut
/
System.setErr
重定向您调用的任何内容的输出

@Override
public void perform(Run<?, ?> run, FilePath workspace, Launcher launcher, TaskListener listener)
     PrintStream outOriginal = System.out;
     PrintStream errOriginal = System.err;
     try {
        System.setOut(listener.getLogger());
        System.setErr(listener.getLogger());
        System.out.println("Testing System.out");
        // Call your code that writes to System.out by default
     } finally {
        System.setOut(outOriginal);
        System.setErr(errOriginal);
     }
}
@覆盖
公共void执行(运行、文件路径工作区、启动器启动器、TaskListener侦听器)
PrintStream outOriginal=系统输出;
PrintStream errOriginal=System.err;
试一试{
setOut(listener.getLogger());
System.setErr(listener.getLogger());
System.out.println(“Testing System.out”);
//调用默认情况下写入System.out的代码
}最后{
系统放线(原始);
System.setErr(errororiginal);
}
}

我怎样才能从代码中找到它?“您可以打印”-如何打印?如果您正在扩展插件,您可以通过