我正在尝试实施暂时禁用恶意库输出的This solution。然而我的问题是我得到了这个:
The constructor PrintStream(new OutputStream(){}) is undefined
使用此代码
PrintStream out = System.out;
System.setOut(new PrintStream(new OutputStream() {
public void write(int b) throws IOException {}
}));
这个类怎么没有构造函数?感谢
答案 0 :(得分:0)
我实际上是将所有system.out和system转发到底层记录器。
private static void redirectStdOutErrToSl4j() {
System.setOut(new PrintStream(System.out) {
@Override
public void print(final String s) {
logger.info(s);
}
});
System.setErr(new PrintStream(System.err) {
@Override
public void print(final String s) {
logger.error(s);
}
});
}
并简单地在静态块上调用该方法。