【问题标题】:Directing all output to MessageConsole将所有输出定向到 MessageConsole
【发布时间】:2016-05-09 16:47:50
【问题描述】:
目前我正在使用MessageConsole's、MessageConsoleStream 写入控制台。
我的问题是,是否可以进行一些配置,使我写入输出流的所有内容都重定向到MessageConsoleStream。
例如,如果我发出以下命令,它应该会自动写入配置的控制台。
System.out.println("txt")
e.printStackTrace()
- 万一发生未经检查的异常(应自动转到控制台)。
【问题讨论】:
标签:
java
eclipse-plugin
eclipse-rcp
eclipse-pde
【解决方案1】:
您可以重定向所有 out 和 err 数据,System.out.println("txt") 和 e.printStackTrace() 打印到 out 流,而“未检查的异常”打印到 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);