我想让Jetty记录所有HTTP请求(以及正文)和响应。这是Jetty原生支持的吗?理想情况下,它会记录到我现有的log4j日志文件。
我正在运行Jetty 6。
答案 0 :(得分: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
答案 1 :(得分:0)
您必须启用正确的模块,只需将其添加到start.ini
文件中即可:
# Create access log file
--module=requestlog
# Redirect all the console log to a file
--module=console-capture
重新启动Jetty并查看logs目录。