因此,我在我的项目中使用一个库,该库使用System.out进行日志记录,并且我希望所有记录都在播放记录器(play.Logger
)中进行标准化。因此,我想知道是否有一种方法可以将System.out重定向到debug
级别的Play Logger。
也许通过将System.out更改为使用其他流?
注意:
我的Play记录器配置为使用以下附加程序:
ch.qos.logback.core.ConsoleAppender
ch.qos.logback.core.FileAppender
我认为图书馆只叫System.out.println(String)
答案 0 :(得分:0)
使用以下代码段:
System.setOut(new PrintStream(new OutputStream() {
StringBuilder sb = new StringBuilder();
@Override
public void write(int b) throws IOException {
if (b == '\n') {
writeStringToActualLogger(sb.toString());
sb = new StringBuilder();
} else {
sb.append((char) b);
}
}
}));
请记住,它仅适用于ASCII。
您必须实现writeStringToActualLogger
才能将字符串写入记录器。