java - 获取系统日志的完整输出(终端)

标签 java console terminal logging

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

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

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

最佳答案

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

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

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

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

关于java - 获取系统日志的完整输出(终端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8108601/

相关文章:

c# - 输出行/列中的二维数组

ruby-on-rails - 更改 rails 控制台颜色

Java BufferedImage 抛出 NullPointerException

java - 如何安装 com.mysql.jdbc.Driver "Could not find driver with class name: com.mysql.jdbc.Driver"?

c++ - 如何在 Windows 控制台中禁用用户选择

linux - 使用多个 CPU 内核优化目录中的图像

bash - Terminal.app 中的新选项卡无法在同一目录中打开/bash 失败(Mountain Lion)

terminal - 终端与发行人之间的通信 - EMV 交易

JAVA - 无法调用我的数组方法

java - PowerMock Mockito 忽略 junit FixMethodOrder