Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在java 11中生成GC日志_Java_Garbage Collection_Java 11 - Fatal编程技术网

无法在java 11中生成GC日志

无法在java 11中生成GC日志,java,garbage-collection,java-11,Java,Garbage Collection,Java 11,我试图在java 11中创建不存在的文件夹中的gc日志。xxx文件夹不存在 C:\>java -Xlog:gc*:file=C:\Users\xxx\gc.log --version [0.006s][error][logging] Error opening log file 'C:\Users\xxx\gc.log': No such file or directory [0.006s][error][logging] Initialization of output 'file=C

我试图在java 11中创建不存在的文件夹中的gc日志。xxx文件夹不存在

C:\>java -Xlog:gc*:file=C:\Users\xxx\gc.log --version

[0.006s][error][logging] Error opening log file 'C:\Users\xxx\gc.log': No such file or directory
[0.006s][error][logging] Initialization of output 'file=C:\Users\xxx\gc.log' using options '(null)' failed.
Invalid -Xlog option '-Xlog:gc*:file=C:\Users\xxx\gc.log', see error log for details.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
如何在不存在的文件夹中获取
gc
日志? 如果文件夹存在,则工作正常

java -version 

openjdk version "11.0.5" 2019-10-15 
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.5+10) 
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.5+10, mixed mode)

答案是,你不能

如果深入研究JVM源代码,您会发现日志框架将尝试使用fopen库调用打开您提供的文件名。如果日志文件不存在,则会创建它(文件打开模式为追加)。但是,日志代码不会尝试遍历提供的路径并在不存在目录的地方创建目录

对于JVM来说,这并不是不合理的行为


如果您真的想这样做,您需要一个脚本来确保在运行应用程序之前目录存在

使用Java 11 NamanI意味着准确完整的版本为
Java-version
prints.Java-version openjdk version“11.0.5”2019-10-15 openjdk运行时环境采用openjdk(构建11.0.5+10)openjdk 64位服务器VM采用openjdk(构建11.0.5+10,混合模式)