2015-12-31 14 views
0

我對Google App Engine和Python都是新手。當事情出錯時,我希望看到變量值等,但打印語句似乎不會輸出到任何地方。我希望他們出現在我開始開發dev_appserver的同一個窗口中,但唯一一次我能看到他們是如果服務器錯誤即將發生,那麼他們就像我期望的那樣出現在輸出中,就在服務器錯誤之前。否則,我不會看到它們。使用Google App Engine和python無法看到調試打印語句

我確定我錯過了一些非常基本的東西......看起來每個人都可以看到他們的打印報表就好了。我曾嘗試使用記錄器功能,但最好我可以告訴它是針對部署的應用程序。無論如何,我看不到任何輸出。一個簡單的例子:

class PageHandler(BaseHandler): 
def get(self): 
    // the page renders just fine, but no print statement to be found 
    print "rendering the page!"   
    self.render("page.html") 

我只是在錯誤的地方尋找打印輸出?在打印之前我需要做些什麼來重定向輸出嗎?非常困惑爲什麼只有當錯誤即將發生時,打印語句才起作用。

+1

您應該使用日誌記錄,而不是打印。 –

回答

1

print輸出到標準輸出(sys.stdout),其在web應用程序上的目的地總是如此。相反,使用logging模塊...:

import logging 
... 
logging.info('rendering the page') 

,你就可以看到在日誌中的所有消息。

+1

謝謝,我試圖使用logging.debug,但是在運行dev_appserver時沒有設置log_level來進行調試。看起來信息更適合基本的調試,所以我的信息在日誌中更容易找到。 – DerekMuk