java - 从另一个 Java 应用程序获取日志

标签 java logging jnlp processbuilder

在一个项目中,我需要从另一个java应用程序执行一个java应用程序。到目前为止,一切都很好。现在我陷入了困境,前者需要从控制台获取后者的日志。

第二个的执行由以下代码片段处理:

ArrayList<String> commands = new ArrayList<>();
    commands.add("javaw");
    commands.addAll(data.returnPropertiesAsPrefixedStringList());
    commands.add("-cp");
    commands.add(data.getClasspathJar().toString());
    commands.add("[PathToMainClass]");

    //data.getArgs for example contains the path to the second java (jnlp) file
    commands.addAll(data.getArgs());

    ProcessBuilder java = new ProcessBuilder().inheritIO().command(commands);
    Process start = java.start();

我现在如何获取“开始”写入控制台的日志?由于我不太清楚我必须寻找什么,所以我没能找到合适的答案。

<小时/>

编辑:

我尝试过这样获取日志,但没有成功。日志根本无法识别。

Process start = java.start();
    BufferedReader input = new BufferedReader(new InputStreamReader(start.getInputStream()));
    String line;
    while ((line = input.readLine()) != null) {
        System.out.println("It Did Work: " + line);
    }

预先感谢您的帮助。

-我一无所知

最佳答案

Process 有一个 getInputStream() 操作,因此您可以使用输入流读取器来访问此数据。也许这个讨论会对您有所帮助:printing-runtime-exec-outputstream-to-console

关于java - 从另一个 Java 应用程序获取日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51077996/

相关文章:

java - 以小端方式写一个整数

Java 正则表达式捕获不起作用

java - logback.xml 中是否有办法通过类路径 :, 指定文件日志目标而无需绝对路径?

java - 如何升级Tomcat Java Applet以使用JNLP?

java - 使用 bouncycaSTLe/spongycaSTLe 读取加密私钥

java - 使用泛型创建 Array 对象

c# - 查看辅助角色跟踪行和日志文件

python - 在 python 中写入日志的最快方法

java - 通过网络将参数/参数传递给 jnlp。有哪些选择?

java - 跟踪 Javaws 启动