繁体   English   中英

如何从 UI 使用 Jetty 启用 DEBUG 级别的日志记录

[英]How to enable DEBUG level logging with Jetty from UI

我正在尝试在 Jetty 实例中将日志记录级别设置为 DEBUG。 当我们在属性文件下添加 -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -Dorg.eclipse.jetty.LEVEL=DEBUG 并将其传递给 JVM 时,它正在工作。我的用例是我试图从 UI 设置日志记录级别,这样我们就可以在不重新启动服务器的情况下切换日志记录级别。 例如,DEBUG 到 WARN

选项 1:带有 JMX 的 Jetty 9 和 StdErrLog

使用 Jetty 9,在服务器上启用 JMX,并使用 JMX 客户端设置 StdErrLog 调试属性。

查找 MBean 名称org.eclipse.jetty.util.log:type=stderrlog,id=0
该属性称为debugEnabled (布尔值)。

选项 2:带有 JMX 的 Jetty 10+ 和 jetty-slf4j-impl

如果使用 Jetty 10+,请在服务器上启用 JMX,并使用 JMX 客户端在您选择的记录器上设置级别。

例如:如果您使用的是jetty-slf4j-implStdErrLog的精神继承者)...寻找 MBean 名称org.eclipse.jetty.logging:type=jettyloggerfactory,id=0
所有命名的记录器都列为属性。
这些操作允许您使用普通的 JMX 操作技术getLoggerLevelsetLoggerLevel

选项 3:不同的日志框架

或者,您可以使用更强大的记录器,如 logback 或 log4j2,甚至 java.util.logging,并有更多的运行时控制日志记录选项。

有些提供对 JMX 的运行时控制。

如果配置文件更改,有些提供重新加载配置的能力。

检查您的记录器以了解它可以做什么。

选项 4:编写自己的记录器级别更改 API

您可以轻松编写自己的工具,根据您自己的应用程序控制的某种事件更改记录器级别。

您甚至可以将其设为 Jetty 上的处理程序,该处理程序仅响应仅在本地主机上列出的特定命名 ServerConnectors。

您只需要获取命名的Logger ,然后设置级别。 (确切的 API 和技术取决于您选择的记录器实现)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM