复制和重定向System.err流

use*_*041 0 java logging stream redirectstandardoutput

我目前在我的应用程序中使用java.util.logger.它将其输出发送到System.err.我需要它继续这样做,但我还需要将该输出发送到其他东西.

有没有办法复制System.err流,以便它可以发送到两个不同的源?

Joh*_*erg 5

一如既往,当人们引用时,java.util.logger我倾向于至少建议查看另一个日志库,例如logbackslf4j.

这篇博文描述了一种方法,可以很容易地进行调整以支持您所要求的内容.简而言之,您需要做的是定义一个可以复制其输出的PrintStream,使用以下命令分配:

System.setErr(doubleLoggingPrintStream)
Run Code Online (Sandbox Code Playgroud)