Подтвердить что ты не робот

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

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

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

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

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

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

Кто-нибудь знает способ добиться этого?

4b9b3361

Ответ 1

-XX:ErrorFile=/var/log/java/hs_err_pid%p.log работает.

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

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

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

Ответ 2

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

java -XX: ErrorFile =/var/log/java/hs_err_pid% p.log -Xbootclasspath/p:. Крушение

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