2011-11-04 263 views
14

我需要配置創建jvm崩潰日誌的位置。我喜歡他們的名字(hs_err_pid.log),但我希望他們在特定的文件夾中創建。如何設置jvm崩潰日誌文件的位置

here你可以看到,你可以使用

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

參數去設置創建的文件,但如果你將其設置爲一個文件夾,因此該文件夾中與原來的命名約定創建的文件,它不起作用,它被忽略。我一直在測試這個崩潰從this questions jvm 1.6,使用此: PathDasher dasher = new PathDasher(null);

任何人都知道一種方法來實現這一目標?

+0

http://stackoverflow.com/questions/1880166/is-it-possible-to-specify-where-jvms-crash-dumps-go –

回答

18

-XX:ErrorFile=/var/log/java/hs_err_pid%p.log的作品。

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

參數不允許的環境變量,但您可以在啓動程序腳本使用環境變量(例如.SH或.bat)和OS會做替代。但是,這將在啓動JVM時使用環境變量的值,而不是稍後寫入文件時使用。此外,在Eclipse中設置運行屬性時,環境變量不起作用。

JVM不會創建保存故障轉儲的中間目錄。如果指定的文件夾不存在,故障轉儲將保存在默認位置。

+0

如何通過java運行這樣的命令?我通過cmd嘗試過,但沒有成功 –

1

你必須以此爲

的java -XX:錯誤文件= /無功/日誌/ JAVA/hs_err_pid%p.log -Xbootclasspath/P :.崩潰

在命令提示符下。 在這裏,崩潰是我的java文件。