web-dev-qa-db-ja.com

JVMクラッシュログファイルの場所を設定する方法

JVMクラッシュログが作成される場所を構成する必要があります。彼らが持っている名前(hs_err_pid.log)は好きですが、特定のフォルダに作成したいです。

here では、

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

作成されるFILEを設定するためのparamですが、これをフォルダーに設定すると、ファイルは元の命名規則でそのフォルダーに作成され、機能しません。無視されます。

私はこれを使用して、jvm 1.6を この質問 からクラッシュすることでテストしています。これを使用して:PathDasher dasher = new PathDasher(null);

誰かがこれを達成する方法を知っていますか?

17
Persimmonium

-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でRunプロパティを設定する場合、環境変数は機能しません。

JVMは、クラッシュダンプを保存する中間ディレクトリを作成しません。指定したフォルダが存在しない場合、クラッシュダンプはデフォルトの場所に保存されます。

24
Andrey Nudko

これを次のように使用する必要があります

Java -XX:ErrorFile =/var/log/Java/hs_err_pid%p.log -Xbootclasspath/p:。クラッシュ

コマンドプロンプトで。ここで、Crashはmy Javaファイルです。

2
user4886120