我使用Restlet和Jetty8。 Jetty记录所有来电。 我想记录所有的响应数据,网址和正文。 哪里是放置日志代码的最佳地点?哪里是在Restlet中记录响应的最佳方式
我以为createOutboundRoot是地方,但我没有想出如何使用它,并找不到任何在网络上的例子。
我使用Restlet和Jetty8。 Jetty记录所有来电。 我想记录所有的响应数据,网址和正文。 哪里是放置日志代码的最佳地点?哪里是在Restlet中记录响应的最佳方式
我以为createOutboundRoot是地方,但我没有想出如何使用它,并找不到任何在网络上的例子。
我从来没有尝试过,但我会开始使用自定义筛选器并覆盖处理后,这似乎是Restlet本身在内部执行日志记录的方式,请参阅LogFilter类。
实现这样的日志过滤器:
public class CustomLogFilter extends Filter {
public CustomLogFilter() {
super();
}
protected int beforeHandle(Request request, Response response) {
int returned = super.beforeHandle(request, response);
// Do specific log if needed
return returned;
}
protected void afterHandle(Request request, Response response) {
super.afterHandle(request, response);
// Do specific log if needed
}
}
,并用它在你的createInboundRoot
如果你有一个Application
对象:
public synchronized Restlet createInboundRoot() {
final Router router = new Router(getContext());
CustomLogFilter filter = new CustomLogFilter();
filter.setNext(router);
return filter;
}