Java 强制Eclipse只显示错误

Java 强制Eclipse只显示错误,java,eclipse,Java,Eclipse,可以告诉Eclipse只在控制台中显示错误吗 它可能很有用,因为我使用的外部库使用输出来显示不需要的数据。我知道有一个按钮“当标准错误改变时显示控制台”,但是,我正在寻找一个过滤器 注意。Eclipse(控制台视图)显示两种不同的输出:标准输出(System.out)和错误输出(System.err)。Eclipse本身无法区分运行的程序记录的实际错误/异常和将其版权/许可证信息写入错误流的外部库。您可以使用System.setOut和System.setErr函数将System.out和/或S

可以告诉Eclipse只在控制台中显示错误吗

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


注意。

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

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

还要注意,如果在UI线程中执行此操作,可能会出现问题。对我来说,申请表总是在事后挂起


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

使用哪种日志记录?每个实现都有自己的方法来提高每个包/类的日志记录级别。对我来说,这更像是一个注释,而不是一个答案。我认为他的问题需要进一步澄清(他想隐瞒什么“错误”),但我不认为答案是暗示我知道他在说什么的地方。Tity使用一个外部库,该库将某些内容写入错误流,但该库是供用户使用的信息,例如,不得用于商业用途,因为它只是一个评估版本(或类似版本)。因此,它只是一个从外部库写入错误流的信息,而不是一个错误/异常。他在问他怎么才能禁用它。如果他使用的依赖项直接写入
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);