2011-07-14 33 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')。 –