2013-07-07 37 views
0

我使用Restlet和Jetty8。 Jetty记录所有来电。 我想记录所有的响应数据,网址和正文。 哪里是放置日志代码的最佳地点?哪里是在Restlet中记录响应的最佳方式

我以为createOutboundRoot是地方,但我没有想出如何使用它,并找不到任何在网络上的例子。

回答

0

我从来没有尝试过,但我会开始使用自定义筛选器并覆盖处理后,这似乎是Restlet本身在内部执行日志记录的方式,请参阅LogFilter类。

0

实现这样的日志过滤器:

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; 
    } 
相关问题