18

我想让 Jetty 记录所有 HTTP 请求(连同正文)和响应。这是 Jetty 本身支持的吗?理想情况下,它会记录到我现有的 log4j 日志文件中。

我正在运行 Jetty 6。

4

2 回答 2

15

Jetty 带有一个可以以 NCSA 格式登录的请求记录器。该格式不包括您需要的请求正文等内容,但该标准格式将适合 webalizer 等工具。

如果您需要记录更多,您可以使用 logback 请求日志实现或通过实现 Jetty 的 RequestLog 接口编写自己的记录器。

除此之外,我强烈建议升级到 jetty7/8(相同的代码库,但 8 提供 servlet 3.0 功能)。或者直接搬到jetty9。

这是请求日志的 jetty9 文档:http: //www.eclipse.org/jetty/documentation/current/configuring-logging.html#configuring-jetty-request-logs

jetty7/8 相同: http ://wiki.eclipse.org/Jetty/Tutorial/RequestLog

我把它作为一个练习让你找到 jetty6 文档或更好的升级。:)

好的,偶然发现jetty6文档:http: //docs.codehaus.org/display/JETTY/Logging+Requests

于 2012-12-06T09:00:31.033 回答
1

TL;博士

您必须启用正确的模块,只需添加到start.ini文件中:

# Create access log file
--module=requestlog

# Redirect all the console log to a file
--module=console-capture

重新启动 Jetty 并查看日志目录。

于 2018-06-21T15:51:05.157 回答