我有一个logging.properties,其中的处理程序是java.util.logging.FileHandler、java.util.loging.ConsoleHandler.
根记录器的默认日志记录级别设置为INFO。
日志文件在启动时传递给JVM_OPTS。
我怎样才能越过级别说";FINEST";或";DEBUG";在运行时不使用java.util.logging重新启动服务器?
您想要使用ManagementFactory.getPlatformMXBean(PlatformLoggingMXBean.class(来访问操作。实现这一点的简单方法是使用支持MBean访问的工具。
将JConsole连接到Undertow(本地或远程(并使用MBean选项卡更改记录器级别是理想的方式。一个问题是,除非代码触发了记录器的创建,否则记录器名称不存在。您不能在代码运行之前使用MBean来创建记录器。如果您在本地使用JConsole,请确保它与Undertow在同一帐户下运行。
- 使用Undertow运行的相同O/S帐户启动JConsole
- 将Jconsole连接到Undertow
- 选择MBeans选项卡
- 展开
java.util.logging->Logging->Operations
的树节点 - 选择
setLoggerLevel
- 在
p0
中输入确切的记录器名称。如果是根记录器,则输入为空 - 在
p1
中输入级别名称。在这种情况下,它将是FINEST
- 单击
setLoggerLevel
。如果操作有效,您将看到Method successfully invoked
使用JMXTerm可以执行类似的步骤。