如何在 Jetty 服务器中启用有线日志记录

How to enable wire logging in Jetty Server

我们有一项服务使用 Jetty Server 7.6.0

我正在尝试通过进行以下配置来启用线路日志记录

<!-- Configure an appender for the wire log-->
                <prop key="log4j.appender.WIRE">org.apache.log4j.DailyRollingFileAppender</prop>
                <prop key="log4j.appender.WIRE.Threshold">TRACE</prop>
                <prop key="log4j.appender.WIRE.File">${root}/var/output/logs/wire.log</prop>
                <prop key="log4j.appender.WIRE.DatePattern">&apos;.&apos;yyyy-MM-dd-HH</prop>
                <prop key="log4j.appender.WIRE.Append">true</prop>
                <prop key="log4j.appender.WIRE.Encoding">UTF8</prop>
                <prop key="log4j.appender.WIRE.layout">org.apache.log4j.PatternLayout</prop>
                <prop key="log4j.appender.WIRE.layout.ConversionPattern">%d{DATE} [%p] %X{RequestId} (%t) %c:%m%n</prop>

                <!-- Adjust log levels -->
                <prop key="log4j.logger.WIRE">TRACE, WIRE</prop>

当我启动服务器时,wire.log 文件正在创建,但它没有将我的请求中的任何内容打印到日志文件中。

我想知道线路记录是否特定于 Tomcat?如果没有,知道如何在 Jetty 中启用它吗?

谢谢,

维沙尔

有线日志记录是 apache HttpClient 的一个选项。

Jetty 没有使用 apache HttpClient,而是 org.eclipse.jetty.client.HttpClient (https://wiki.eclipse.org/Jetty/Tutorial/HttpClient)。

已讨论在 jetty 中记录 http 消息 here

This或许也能帮到你。