通过akka拦截STDOUT和流

时间:2016-03-19 01:09:09

标签: scala akka

是否可以拦截任何其他进程的STDOUT并通过akka流传输它们?

由于

阿伦

1 个答案:

答案 0 :(得分:2)

请立即 立即在此and akka-user交叉发布您的问题,这会让您更难跟踪已回答的问题。如果过了一段时间没有得到答案,可以交叉发帖,但请不要立即这样做。

为了拦截"使用Java中的stdout,您可以在setOut对象上System。它需要一个PrintWriter,我们可以通过包装OutputStream" bridge"来创建它。 Akka Streams提供了这里的方法:

 val is: OutputStream = StreamConverters.asOutputStream()
   .to(Sink.foreach(println)) // your logic pipeline here
   .run()
 System.setOut(new PrintStream(is))