当前位置: 首页 > 知识库问答 >
问题:

如何从UI使用Jetty启用调试级日志记录

喻增
2023-03-14

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

共有1个答案

卫博学
2023-03-14

选项1:Jetty 9和带JMX的StdErrLog

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

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

选项2:Jetty 10和Jetty-slf4j-impl,带JMX

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

例如:如果你使用的是jetty-slf4j-impl(stderlog的精神继承者)。。。查找MBean名称org。日食码头。日志记录:type=JettyLogger工厂,id=0
所有命名的日志记录程序都列为属性
这些操作允许您使用正常的JMX操作技术getLoggerLevelsetLoggerLevel

选项3:不同的测井框架

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

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

有些提供了在配置文件更改时重新加载配置的功能。

检查你的记录器,了解它能做什么。

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

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

您甚至可以将此设置为Jetty上的处理程序,仅响应仅在localhost上列出的特定命名ServerConnectors。

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

 类似资料:
  • 问题内容: 我正在使用最新的jetty插件通过简单的Java运行webapp ,但似乎无法找到一种方法来告诉jetty将DEBUG消息输出到控制台(对于嵌入式jetty实例,而不是插件本身)。当前仅输出WARN和INFO消息。我尝试设置和,但是他们什么也没做。我已经看过文档了,但是似乎没有涵盖。 问题答案: 更新: 好的,我终于把事情做好了,这就是我所做的。 我的理解是,由于Jetty 7使用JS

  • 我下载了kafka-clients-0.9.0.0。jar与maven一起使用,我希望我会看到类似于Kafka日志链接中的日志记录 然而,我不知道为什么我没有得到任何日志记录,即使我设置了引导。purpuse上的服务器错误,但它只是在没有发出任何警告的情况下被卡住了。我添加了几行代码以使用log4j打印到一个文件中,这似乎是可行的,但不知道为什么Kafka不能将事件记录到log4j中。 请注意,s

  • 我想调试ffmpeg。我添加以下代码来打印日志: 或 但它不能工作。没有任何调试信息。 然后启用调试生成选项: 它不能工作。 我确信我添加跟踪的地方会被执行。 我只想打印一些简单的信息,怎么做?

  • 我试图解决一个SSLHandshakeExcure,为此,我试图启用SSL调试模式,我尝试设置-Djavax.net.debug=ssl,但它不起作用,记录器只给我有关类的信息,如org.eclipse.util.ssl.SSLContext工厂org.eclipse.util.ssl.X509,这是否意味着Jetty在其核心中不使用JSSE实现? 我试图以这种格式可视化日志:https://do

  • Web-INF中的jboss-deployment-structure.xml: 和log4j.xml设置(在war中位于“web-inf/classes/log4j.xml”中):

  • 有人能帮我设置日志级别以调试和捕获更多日志所需的spark配置吗