2011-07-14 28 views
2

请求调试信息,我发现它非常有用做的Django/Python的web开发时全面检查这样的HTTP请求:印刷上的Java Servlet

logger = logging.getLogger(__name__) 
def index(request): 
    logger.info(request) 

是否有类似的Java Servlet的东西吗?

public void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    // debugInfo should print something similar to what you get in DJANGO 
    debugInfo(request); 
} 
+0

可以肯定,它在标准控制台中结束? (因此不在HTTP响应中,尽管您没有通过该方法传递'response') – BalusC

+0

它会在记录器配置为结束的任何地方结束。但没关系。如果它生成一个我可以在其他地方打印的字符串,我将会非常高兴。 –

+0

对啊,你基本上是在寻找一个'HttpServletRequestWrapper'实现,它返回一个多行'String',其中包含'toString()'调用的所有调试信息?对不起,没有人想到。 – BalusC

回答

2

因为我没有答案,I wrote a little helper class来帮我解决这个问题。希望别人认为它有趣并且有用。

+0

您的链接到帮助程序类的源代码(http://phoebe.roshka.com/interno/ext/RequestPrinter.java)需要授权。你可以把它放在github.com上吗? – Cagatay

+0

@Cagatay:我把小班搬到了不同的地方。您可以尝试再次下载。感谢您指出了这一点! http://blog.roshka.com/2011/07/logging-full-http-requests-in-java.html –

+0

大声笑 - 我发现它很有用。另外打印出特定的字符串会受到欢迎(如'referer')。 –