如何获取包含参数的请求字符串

我的应用程序中有一个奇怪的exception,我想在它发生时记录并包含完整的请求字符串,包括参数。

当我尝试

log.warn("Weird request " + request.getRequestURL()); 

我得到了请求字符串,但没有包含的参数? 和&。

例:

 /testRequest.do?param1=1&param2=2 

我只看到了

 /testRequest.do 

我可以把这个字符串放到某个地方吗?

请参阅HttpServletRequest#getQueryString()

如果你想要整个字符串,你必须将请求url和查询字符串一起追加,因为没有方法来获取整个字符串。

 System.out.println(request.getRequestURL().append('?').append(request.getQueryString()));