12

実行時にエラー ログの場所が指定されていない場合java -cp ../blah someplace/somejar.jar、jvm エラー ログはどこに書き込まれますか?

4

2 に答える 2

9

「jvmエラー」とはどういう意味ですか? スタック トレースを参照する場合、これらはに書き込まれSystem.errstandard error stream. これは通常、そのまま端末に出力されますSystem.out。必要に応じて、JVM を呼び出すとき ( を使用2> /my/file.log)、またはコード内から をリダイレクトして、これをリダイレクトできますSystem.err

一部のロギング フレームワークは std-error をリダイレクトしますが、それは構成によって異なります。

JVM クラッシュ ログ (JVM がクラッシュした場合に作成されます。JNI を使用していなければ発生することはありませんが、実際には発生することがあります) を参照すると、状況が異なります。これらは通常、jvm が起動されたフォルダーに作成されます。このフォルダーが書き込み可能でない場合、/tmpディレクトリは Unix システムで使用されます。

于 2012-12-31T13:43:54.877 に答える
6

Java Platform, Standard Edition Troubleshooting Guide: Location of Fatal Error Logによると、フラグが指定されていない場合、システムはプロセスの作業ディレクトリにファイルを作成しようとします。-XX:ErrorFile=file

作業ディレクトリにファイルを作成できない場合 (容量不足、権限の問題、またはその他の問題)、ファイルはオペレーティング システムの一時ディレクトリに作成されます。

  • Oracle SolarisおよびLinuxオペレーティング システムでは、一時ディレクトリは/tmp.

  • Windowsでは、一時ディレクトリはTMP環境変数の値によって指定されます。その環境変数が定義されていない場合は、TEMP環境変数の値が使用されます。

于 2018-05-18T17:09:31.787 に答える