提问人:datenstation 提问时间:11/7/2023 最后编辑:Justin Bertramdatenstation 更新时间:11/14/2023 访问量:79
如何在ActiveMQ中启用HTTP请求日志记录以跟踪RESTful API请求?
How to enable HTTP request logging in ActiveMQ for tracking RESTful API requests?
问:
我正在使用 ActiveMQ 5.15.16 并使用 RESTful API 进行消息处理。我想为 ActiveMQ RESTful API 启用传入 HTTP 请求的日志记录,以便跟踪和分析请求。但是,我不确定如何实现这一目标。
我通读了有关如何配置 Jetty 请求日志的文档,但我无法在 ActiveMQ 中找到正确的文件来编写相应的日志记录配置。
有人可以指导我如何在 ActiveMQ 中启用 HTTP 请求日志记录以跟踪 RESTful API 请求吗?
答:
0赞
Matt Pavlovich
11/7/2023
#1
您有以下几种选择:
通过码头记录。听起来这是你开始的方法。在这种情况下,您很可能有一个 log4j2 配置来整理 ActiveMQ 问题。
使用日志代理插件,该插件可以通过代理记录所有协议的处理: 日志代理插件
1赞
datenstation
11/9/2023
#2
创建一个新的 org.eclipse.jetty.server.handler.RequestLogHandler bean 并将其添加到 Server Bean 的处理程序列表中
码头.xml
<bean id="requestLogHandler" class="org.eclipse.jetty.server.handler.RequestLogHandler">
<property name="requestLog">
<bean class="org.eclipse.jetty.server.CustomRequestLog">
<constructor-arg index="0">
<bean class="org.eclipse.jetty.server.AsyncRequestLogWriter">
<property name="append" value="true" />
<property name="filename" value="M:/logs/activemq/requests-yyyy_mm_dd.log" />
<property name="timeZone" value="CET" />
<property name="retainDays" value="10" />
</bean>
</constructor-arg>
<!--constructor-arg index="1" value="#{T(org.eclipse.jetty.server.CustomRequestLog).EXTENDED_NCSA_FORMAT}" /-->
<constructor-arg index="1" value="%{client}a - %u %{dd/MMM/yyyy:HH:mm:ss ZZZ|CET}t "%r" %s %O "%{Referer}i" "%{User-Agent}i"" />
</bean>
</property>
</bean>
<bean id="Server" depends-on="jettyPort" class="org.eclipse.jetty.server.Server" destroy-method="stop">
<property name="handler">
<bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
<property name="handlers">
<list>
<ref bean="contexts" />
<ref bean="securityHandler" />
<ref bean="requestLogHandler" />
</list>
</property>
</bean>
</property>
</bean>
评论
0赞
Joakim Erdfelt
11/10/2023
请注意,在 Jetty 9+ 中,使用 .用于特定于上下文的日志记录,而用于所有请求,甚至那些不属于上下文的请求。Server.setRequestLog(new CustomRequestLog())
RequestLogHandler
Server.setRequestLog()
1赞
Joakim Erdfelt
11/14/2023
该属性用于滚动文件时的文件名。文件中 timeZone 的日志记录由 CustomRequestLog 模式控制(有关详细信息,请参阅 javadoc)。timeZone
评论
conf/jetty.xml
org.eclipse.jetty.server.handler.RequestLogHandler
Server