如何设置 jvm 崩溃日志文件的位置

2022-09-02 09:55:00

我需要配置jvm崩溃日志的创建位置。我喜欢他们的名字(hs_err_pid.log),但我希望他们在特定的文件夹中创建。

在这里,您可以看到您可以使用

-XX:ErrorFile=./hs_err_pid<pid>.log

参数来设置创建的文件,但是如果您将其设置为文件夹,则使用原始命名约定在该文件夹中创建文件,则它不起作用,将被忽略。

我一直在测试这个问题,从这个问题中崩溃jvm 1.6,使用这个:PathDasher dasher = new PathDasher(null) ;

有人知道实现这一目标的方法吗?


答案 1

-XX:ErrorFile=/var/log/java/hs_err_pid%p.log工程。

查看 http://www.oracle.com/technetwork/java/javase/felog-138657.html

该参数不允许环境变量,但您可以在启动器脚本中使用环境变量(例如.sh或.bat),操作系统将进行替换。但是,这将在启动 JVM 时使用环境变量的值,而不是在以后写入文件时使用。此外,在 Eclipse 中设置 Run 属性时,环境变量不起作用。

JVM 不会创建保存故障转储的中间目录。如果指定的文件夹不存在,故障转储将保存在默认位置。


答案 2

您必须将其用作

java -XX:ErrorFile=/var/log/java/hs_err_pid%p.log -Xbootclasspath/p:.崩溃

在命令提示符下。在这里,崩溃是我的java文件。


推荐