Jetty:如何写入访问日志

时间:2009-08-21 20:57:20

标签: java logging servlets jetty

在我的Java servlet代码中,我希望能够以编程方式写入jetty访问日志。我知道jetty会自动将每个传入的HTTP请求记录到访问日志中。但是,我的servlet需要偶尔将它自己的行附加到访问日志中。这里有没有人做过类似的事情?

谢谢!

4 个答案:

答案 0 :(得分:3)

我认为Lispnik走在正确的轨道上。您希望获得http://docs.codehaus.org/display/JETTY/Logging+Requests中描述的NCSARequestLog的句柄,并通过调用log()直接向其发送日志消息。因此,您希望在代码中找到当前正在配置NCSARequestLog的位置,并替换将返回指向其创建的日志的指针的修改版本。

答案 1 :(得分:2)

如果有人在这里偶然发现了同样的事情,那么这就是码头很容易做到的另一件事,但文档很差。无论如何,对于Jetty 9,您只需添加jetty-requestlog.xml,这是$JETTY_HOME/etc/$JETTY_HOME/etc/jetty.conf中的文件,以获取基本请求日志。您必须重新启动服务器才能使配置生效。

答案 2 :(得分:1)

答案 3 :(得分:1)

顺便说一下,在Jetty 9中完成相同操作的另一种方法是在"Handlers"的{​​{1}}部分添加以下三行(来自here):

$JETTY_HOME/etc/jetty.xml

以及<Item> <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/> </Item> 部分的 end ,添加以下代码:

"Handlers"

也就是说,使这些部分看起来像page中的“为Jetty服务器配置请求日志”一节。