如何在不中断应用程序输出的情况下重定向JVM输出?

2024-09-24 22:31:52 发布

您现在位置:Python中文网/ 问答频道 /正文

最近我正在写一些微基准代码,所以我必须打印出JVM行为和基准信息。我用

-XX:+PrintCompilation
-XX:+PrintGCDetails

以及获取JVM状态的其他选项。对于基准测试信息,我只使用System.out.print()方法。因为我需要知道我打印的消息的顺序和JVM输出。

当我在控制台中打印出来的时候,我可以得到很好的结果,尽管JVM输出有时会破坏我的消息,但是由于它们在不同的线程中,这是可以理解和接受的。

当我需要做一些批处理基准测试时,我想用python从文件中获取结果并进行分析。

问题是:

它破坏了信息的完整性。

你知道怎么处理这种情况吗?我需要both the JVM output and application output in the same place in order to preserve the sequence because it is important. And they do not overlap on each other so I don't lose anything.


Tags: the代码in信息消息output状态选项