如何解决Undertow java.util.logging:如何使用Java util日志记录在运行时更改Undertow服务器的日志记录级别
我有一个logging.properties,其中的处理程序是java.util.logging.FileHandler,java.util.logging.ConsoleHandler。
root logger的默认日志记录级别设置为INFO。
日志文件在启动时被传递到JVM_OPTS。
在不使用java.util.logging重新启动服务器的情况下,如何在运行时覆盖级别以显示“ FInesT”或“ DEBUG”?
解决方法
您要使用ManagementFactory.getPlatformMXBean(PlatformLoggingMXBean.class)来访问操作。最简单的方法是使用支持MBean访问的工具。
将JConsole连接到Undertow(本地或远程)并使用MBean选项卡更改记录器级别是理想的方法。一个问题是,除非代码触发了记录器的创建,否则记录器名称不存在。您无法在代码运行之前使用MBean创建记录器。如果您在本地使用JConsole,请确保它在与Undertow相同的帐户下运行。
- 使用运行Undertow的相同O / S帐户启动JConsole。
- 将Jconsole连接到Undertow
- 选择“ MBeans”标签。
- 展开
json_columns = { col.key for col in inspect(MyClass).columns if SOMETHING_SOMETHING(col,sqltypes.JSON) }
的树节点 - 选择
java.util.logging->Logging->Operations
。 - 在
setLoggerLevel
中输入确切的记录器名称。如果是root记录器,则输入为空白。 - 在
p0
中输入级别名称。在这种情况下,它将是p1
。 - 单击
FINEST
。如果操作成功,您将看到setLoggerLevel
。
可以使用JMXTerm执行类似的步骤。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。