Java:如何指定JVM参数-XX:ErrorFile并在filename中保留自动PID

时间:2014-03-24 19:16:26

标签: java jvm-arguments hs-err

我正在使用JNI,当由于目标应用程序中的错误而发生崩溃时,会生成hs_err_pid * .log文件。我想更改存储该文件的默认位置。 现在,通过搜索我明白这可以使用JVM参数-XX:ErrorFile来实现。

documentation表示此参数的默认值为./hs_err_pid<pid{ {1}}。log

现在,当我覆盖默认值时,如何告诉JVM仍然在文件名中包含进程ID? 我显然试图将targetDir / hs_err_pid > pid <。log作为命令行参数,但这会导致整个参数被忽略(并且文件存储到默认位置,即工作目录)。 如果我只说targetDir / hs_err_pid.log文件存储在我想要的位置,但是没有将文件附加到进程ID。

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:12)

尝试

-XX:ErrorFile=targetDir/hs_err_pid_%p.log

答案 1 :(得分:-1)

在Windows中:

-XX:ErrorFile=C:\targetDir\hs_err_pid_%%p.log