如何将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);
}
}
我怎样才能从代码中找到它?“您可以打印”-如何打印?如果您正在扩展插件,您可以通过