gpt4 book ai didi

java - 按需控制 Java EE 应用程序的 Jersey 日志记录

转载 作者:行者123 更新时间:2023-11-30 07:27:00 24 4
gpt4 key购买 nike

我需要从我的 Java EE 7 应用程序动态启用 Jersey 跟踪/日志记录。我无法访问 Jersey 库,我唯一的依赖项是 javaee-api 7.0。

我尝试使用logging.properties(七月),但没有成功:

handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=ALL
java.util.logging.SimpleFormatter.format=%4$-7s [%3$s] %5$s%6$s%n

#All log level details
.level=ALL
org.glassfish.jersey.level=ALL
org.glassfish.jersey.tracing.level=ALL
client.Client.level=ALL

如果我设法将其配置为使用 java.util.logging 属性在控制台中记录所有内容,那么我计划使用 LogManager 动态重新加载日志记录属性,但我陷入了上述第一步。

如果有区别,应用程序服务器是 Payara 4,实现是 Jersey 2。

这是一个让我实现这样的用例:

如果一个供应商(使用 REST 连接的第三方系统)希望我提供带有来自生产系统的 header 和有效负载的请求/响应,我可以按需提高日志记录级别,记录所需的请求和详细信息,然后降低日志记录级别恢复正常。否则我需要使用一些监控应用程序或中间的代理,这不是一个选项。

最佳答案

发现错误,我在日志记录属性文件中缺少 Jersey 日志处理程序:com.sun.jersey.handlers=java.util.logging.FileHandler

如果我使用此logging.properties文件,我会得到想要的结果:

handlers=java.util.logging.FileHandler
java.util.logging.FileHandler.level=ALL
java.util.logging.SimpleFormatter.format=%4$-7s [%3$s] %5$s%6$s%n

#All log level details
.level=ALL

com.sun.jersey.level=ALL
com.sun.jersey.handlers=java.util.logging.FileHandler
java.util.logging.FileHandler.pattern=debugging.log
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

关于java - 按需控制 Java EE 应用程序的 Jersey 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36682432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com