gpt4 book ai didi

java - 无法在 Java 11 中生成 GC 日志

转载 作者:行者123 更新时间:2023-12-04 10:18:28 30 4
gpt4 key购买 nike

我正在尝试在不存在的文件夹中创建 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 - 无法在 Java 11 中生成 GC 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60972040/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com