Jetty HTTP logging

2022-09-02 22:09:08

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

我正在运行Jetty 6。


答案 1

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

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

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

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

与7/8码头相同:http://wiki.eclipse.org/Jetty/Tutorial/RequestLog

我把它留给你找到jetty6文档的练习,或者更好的是,升级。:)

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


答案 2

TL;DR

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

# Create access log file
--module=requestlog

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

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


推荐