强制Eclipse仅显示错误

时间:2013-07-15 12:43:42

标签: java eclipse

是否可以告诉Eclipse在控制台中仅显示错误?

它可能很有用,因为我正在使用外部库来使用输出来显示不需要的数据。我知道有一个按钮“当标准错误发生变化时显示控制台”,但是,我正在寻找一个过滤器。

问候。

2 个答案:

答案 0 :(得分:0)

Eclipse(Console视图)显示两个不同的输出:标准输出(System.out)和错误输出(System.err)。 Eclipse本身无法区分运行的程序记录的实际错误/异常,以及将版权/许可证信息写入错误流的外部库。

答案 1 :(得分:0)

您可以使用System.setOut和System.setErr函数将System.out和/或System.err重定向到另一个OutputStream。这样您就可以创建自己的“控制台视图”或自己处理输出。如果实现自定义OutputStream类,还可以将数据发送到原始OutputStream(原始System.out或System.err)。

PrintStream oldOut;

oldOut = System.out;
System.setOut(new PrintStream(new OutputStream() {
    @Override
    public void write(int b) throws IOException {
        // handle the "b" or
        // send it to old stdout:
        oldOut.write(b);
    }
}));

// do what you want with the stream and afterwards
System.setOut(oldOut);

另请注意,如果在UI线程中执行此操作可能会出现问题。对我来说,申请总是被绞死。

如果您重定向这些流,则可以决定是否将其转发到标准输出/错误。