当前位置: 首页 > 面试题库 >

将STDOUT复制到文件而不停止在屏幕上显示

酆阳煦
2023-03-14
问题内容

我正在制作的程序被设计为无人值守运行,因此,我将stdout和stderr流重定向到了一个日志文件。尽管此程序没有任何问题,但我仍在制作和调试该软件,但我希望它也能显示在屏幕上。这可能吗?

重定向我用过的流

System.setErr(logWriter);
System.setOut(logWriter);

谢谢。


问题答案:

也许有点粗糙,但是您可以尝试以下方法:

private static final isDebugMode = true;

...

if (!isDebugMode) {
  System.setErr(logWriter);
  System.setOut(logWriter);
}

或者,您可以编写自己的PrintStream实现,该实现同时写入日志文件和屏幕。听起来似乎除了开发之外,您不需要这种行为,因此,尽管后者实际上对您的问题的更准确答案可能不是您真正想要的。



 类似资料:
  • 这可能是我处理布局的方式有问题。对Java和Android软件开发工具包来说有点新鲜。我正在使用Android Studio。 我在这一点上的目标是有一个应用程序,屏幕底部显示一个带有图标的导航栏,顶部有一个带有“关闭”按钮和“保存”按钮的工具栏。工具栏和导航栏之间应该是一个空白的白色屏幕。 但是我很难让工具栏停留在屏幕的顶部。灰色背景占据了白色背景前面的整个屏幕。下面是截图。 这是我所知道的:

  • 我正在从docker容器中运行elasticsearch。 在为ssl和屏蔽配置elasticsearch时,我的文件获得非法条目,即而不是。 现在我的docker容器没有启动,并出现以下错误: 如何在不丢失数据的情况下编辑或替换它,或替换现有容器中的文件?

  • 问题内容: 我有这个: 我想回显“构建路径”参考中的所有内容(用于调试某些内容)。 我努力了: 但它只是回显确切的文本“ $ {build-path}” 问题答案: 您可以使用记录在案的(诚​​实的,它在那儿……)助手:

  • 我想让应用程序像“简易屏幕录制器”。我必须从哪里开始,因为我搜索了很多,但没有找到任何开始的链接。有任何用于创建屏幕录制器的api,而不是屏幕截图。我不想使用javacv从屏幕截图创建视频。我只想让用户启动应用程序,点击开始录制按钮,然后用户在手机上所做的一切来录制这些内容。 1) Android系统中是否有相关的api。 2) 如何在android中创建屏幕录制器应用程序。 3)是没有任何api