如果在执行java -cp ../blah someplace/somejar.jar时没有指定错误日志位置,那么错误日志会被写到哪里呢?
发布于 2012-12-31 21:43:55
你说的"jvm错误“是什么意思?如果您引用堆栈跟踪,则会将这些堆栈跟踪写入到指向standard error stream的System.err。这通常会在您的终端中打印出来,就像System.out一样。如果需要,可以在调用JVM时(使用2> /my/file.log)重定向,也可以通过重定向System.err在代码中重定向。
一些日志框架重定向std-error,然后它取决于您的配置。
如果您参考JVM崩溃日志( JVM崩溃时创建的日志,如果不使用JNI,则不会发生这种情况,但实际上它们有时会发生),情况就不同了。这些文件通常在启动jvm的文件夹中创建。如果此文件夹不可写,则在Unix系统上使用/tmp目录。
发布于 2018-05-19 01:09:32
根据Java Platform, Standard Edition Troubleshooting Guide: Location of Fatal Error Log,如果未指定标志,系统会尝试在进程的工作目录中创建文件-XX:ErrorFile=file。
如果无法在工作目录中创建文件(空间不足、权限问题或其他问题),则会在操作系统的临时目录中创建该文件。
/tmp.TMP环境变量的值指定;如果未定义该环境变量,则使用D16环境变量的值。https://stackoverflow.com/questions/14102293
复制相似问题