как установить расположение файлов журнала сбоев jvm

Мне нужно настроить, где создаются журналы сбоев jvm. Мне нравится имя, которое у них есть (hs_err_pid.log), но я хочу, чтобы они были созданы в определенной папке.

на здесь вы можете видеть, что вы можете использовать

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

param для установки созданного файла, но если вы установите это в папку, поэтому файл создается в этой папке с исходным соглашением об именах, он не работает, он игнорируется.

Я тестировал это, разбив jvm 1.6 от этот вопрос, используя этот: PathDasher dasher = новый PathDasher (null) ;

кто-нибудь знает способ, чтобы достичь этого?

2 ответов


-XX:ErrorFile=/var/log/java/hs_err_pid%p.log строительство.

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

параметр не учитывает переменные среды, но вы можете использовать переменные среды в сценарии запуска (например .ш или .bat), и ОС сделает замену. Однако это будет использовать значение переменной среды во время запуска JVM, а не когда файл будет записан позже. Кроме того, переменные среды не работают при настройке свойств запуска в Eclipse.

JVM не будет создавать промежуточные каталоги, сохраняя аварийный дамп. Аварийный дамп будет сохранен в папку по умолчанию, если указанная папка не существует.


вы должны использовать это как

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

в командной строке. Здесь Crash-это мой java-файл.