我想知道我是否可以从类中运行-verbose:class,而不是在控制台中运行,并将其输出到日志文件,仅适用于特定类,'因为我必须在一个类上运行它PROD服务器,我无法访问控制台。
答案 0 :(得分:1)
TL; DR
否,使用命令行。
在JVM启动期间解析此命令行选项。
Oracle's reference没有提到你可以在运行时更改它,
但您可以尝试(如果您的JVM版本/供应商支持
)以下是:
您可以使用ClassLoadingMXBean更改此值
使用JConsole修改它:
答案 1 :(得分:1)
...如果我可以从类中运行-verbose:class ...
是
ClassLoadingMXBean mxBean = ManagementFactory.getClassLoadingMXBean();
mxBean.setVerbose(true);
...将其输出到日志文件......
不是来自JVM。您无法重定向此输出,因为如果有一个连接到该进程的控制台,则在JVM启动期间将其初始化为stdout
。
...仅针对特定班级......
取决于你的意思。在处理特定的过程中 - >看第一点。只有特定类加载的类 - >号