【问题标题】:Getting Full Output of System Log (Terminal)获取系统日志的完整输出(终端)
【发布时间】:2011-11-13 00:16:43
【问题描述】:

我正在制作一个控制台 Java 应用程序,您可以在其中输入控制台命令,例如 Macintosh/Ubuntu/Windows 命令提示符上的终端,然后将其输出到日志。

我想知道,在执行系统/控制台命令时,我如何从该命令获取结果/日志?

注意:我的意思是文字代码+解释。

【问题讨论】:

  • 你的意思是:喜欢标准输出吗?
  • System.out.println(results) 有什么问题?
  • 例如实用程序打印当前日期:public static void main(String[] args) { System.out.println(new Date()); }
  • 哦,我明白了,你想要像 popen(3) 这样的东西——但对于 Java。

标签: java console terminal logging


【解决方案1】:

有很多方法可以做到这一点,最简单的是这个(或变体),来自this example

Process child = Runtime.getRuntime().exec(command);
InputStream in = child.getInputStream();

如果您有内部命令想要转到两个地方,请考虑使用 Commons IO TeeOutputStream 之类的命令。

您可以结合上述技术来获取所有输出(无论是来自内部命令还是外部命令)到您的控制台和“影子”日志文件。

【讨论】:

  • @GrayAdams 我不明白你的评论;对不起。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-29
  • 2017-09-18
相关资源
最近更新 更多