我想在Jetty中记录所有HTTP请求,这是有据可查的,但我可以找到任何资源,如何掩盖一些参数。
E.g:
json/users/detail?id=dsgrw543
应记录为:
json/users/detail?id=********
或类似。
主要动机是我可以提供这些日志进行分析,而不必担心我们的用户的隐私会受到损害。理想情况下是在线,不使用批处理或其他脚本。
请注意,我使用其他身份验证机制(cookie /所有写入方法都是POST /等),我无法更改现有的URL。
到目前为止,我唯一的想法是将它作为一个类在NCSARequestLog之上实现: http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/NCSARequestLog.html
有什么更好的方法呢?
答案 0 :(得分:0)
你可以写一个这样的简单的工具,在你记录的任何地方使用它
Enumeration<String> s = request.getParameterNames();
String q = "";
while(s.hasMoreElements()){
q += s.nextElement() + "=***&";
}
String url = request.getServletPath()+(q.length()>0?"?"+q:"");
或可能request.getRequestedURI()
代替getServletPath