将所有输出定向到MessageConsole

时间:2016-05-09 16:47:51

标签: java eclipse-plugin eclipse-rcp eclipse-pde

目前我使用MessageConsole'sMessageConsoleStream写入控制台。

我的问题是,是否可以进行一些配置,以便将写入输出流的所有内容重定向到MessageConsoleStream

示例,如果我发出以下内容,它应该自动写入配置的控制台。

  1. System.out.println("txt")
  2. e.printStackTrace()
  3. 如果发生未经检查的异常(应自动转到控制台)。

1 个答案:

答案 0 :(得分:1)

您可以将所有outerr数据重定向,System.out.println("txt")e.printStackTrace()打印到out流,而#34;未经检查的例外情况&#34 ;打印到err流。
在此示例中,System.out.println("txt")会将txt写入log.txt文件。

OutputStream out = new FileOutputStream("log.txt");
PrintStream stream = new PrintStream(out);
System.setOut(stream);
System.setErr(stream);

在你的情况下,你可以这样做:

MessageConsoleStream out = ...;
PrintStream stream = new PrintStream(out);
System.setOut(stream);
System.setErr(stream);