Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将groovy脚本的所有输出重定向到另一个流,而不更改脚本?_Groovy - Fatal编程技术网

如何将groovy脚本的所有输出重定向到另一个流,而不更改脚本?

如何将groovy脚本的所有输出重定向到另一个流,而不更改脚本?,groovy,Groovy,,仅将输出命令重定向到输出流。我想将脚本的所有输出重定向到一个流,而不仅仅是使用out创建的输出的子集。您可以将System.out绑定到另一个流,例如(如果您从纯Java调用它): 或更为常规: System.out = new File('console.out').newPrintWriter() //call your script there 所以基本上,如果我在同一个进程中运行脚本,我不能只重定向脚本的输出,而是必须全局地执行它?是的。如果它使用全局输出-您只有一种方法:重新定义此

,仅将
输出
命令重定向到输出流。我想将脚本的所有输出重定向到一个流,而不仅仅是使用
out创建的输出的子集。您可以将
System.out
绑定到另一个流,例如(如果您从纯Java调用它):

或更为常规:

System.out = new File('console.out').newPrintWriter()
//call your script there

所以基本上,如果我在同一个进程中运行脚本,我不能只重定向脚本的输出,而是必须全局地执行它?是的。如果它使用全局输出-您只有一种方法:重新定义此全局输出。顺便说一句,您可能可以自己实现printwriter,它将检查调用线程,只捕获所需线程的数据,并将所有其他输出发送到感兴趣的原始输出。包装在Java7 closeable中,并在最后发布适当的版本,这实际上可以工作。
System.out = new File('console.out').newPrintWriter()
//call your script there