我正在制作的程序设计为无人值守运行,因此我将 stdout 和 stderr 流重定向到日志文件。虽然这没有任何问题,但当我仍在制作和调试软件时,我希望它也显示在屏幕上。这可能吗?
重定向我使用过的流
System.setErr(logWriter);
System.setOut(logWriter);
谢谢。
最佳答案
也许有点粗糙,但你可以试试这个:
private static final isDebugMode = true;
...
if (!isDebugMode) {
System.setErr(logWriter);
System.setOut(logWriter);
}
或者,您可以编写自己的 PrintStream 实现,它同时写入日志文件和屏幕。除了在开发中,听起来你不需要这种行为,所以后者虽然实际上对你的问题更准确的答案可能不是你真正想要的。