如何在Java 9中将GC日志写入命名管道?

use*_*724 6 java java-9

在Java9之前,我们可以指定-Xloggc:/ my/named/pipe将垃圾收集消息记录到命名管道中.但是,在指定时-Xlog:gc*:file=/my/named/pipe,JVM 9会抱怨命名管道:

[0.003s][error][logging] Unable to log to file /my/named/pipe,  /my/named/pipe is not a regular file.
Run Code Online (Sandbox Code Playgroud)

我们正在使用Linux RedHat和jdk_9.0.1_x64.

我们如何在Java 9中将GC消息记录到命名管道?

Nam*_*man 1

查看Unified JVM Logging下指定的语法,您可以尝试将 arg 替换为

-xlog:gc*.file=/my/named/pip
Run Code Online (Sandbox Code Playgroud)

-Xlog:gc*=info:file=gctrace.txt
           ^  ^          ^
       level  colon   filename
Run Code Online (Sandbox Code Playgroud)

或者简单地

-Xlog:gc*:file=gctrace.txt // since default level for gc logging is INFO
Run Code Online (Sandbox Code Playgroud)