哪里是在Restlet中记录响应的最佳方式



我将Restlet与Jetty8一起使用。码头记录所有来电。我还想记录所有的响应数据,网址和正文。放置日志代码的最佳位置是哪里?

我以为createOutboundRoot就是这个地方,但我不知道如何使用它,在网上也找不到任何例子。

我从未尝试过,但我会从自定义过滤器开始,并覆盖After句柄,这似乎是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
}

}

如果您有Application对象,请在createInboundRoot中使用它:

   public synchronized Restlet createInboundRoot() {
          final Router router = new Router(getContext());
          CustomLogFilter filter = new CustomLogFilter();
          filter.setNext(router);
          return filter;
   }

相关内容

  • 没有找到相关文章

最新更新