Jetty HTTP日志记录

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

我正在运行Jetty 6。

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

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

除此之外,我强烈建议升级到jetty7 / 8(相同的代码库,但8提供servlet 3.0function)。 或直接转移到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

TL; DR

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

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

重新启动Jetty并查看logs目录。