2011-11-28 118 views
12

我開始開發一個簡單的Tornado應用程序,我希望在開發時看到請求登錄標準輸出。目前我只看到404條警告消息。如何將請求記錄到Tornado Web服務器的stdout中?

有沒有辦法讓所有的請求都打印在stdout中?

+0

'print'不是正確的日誌解決方案 – CrackerJack9

+3

的真實替代方案。但我的需要不是一個正確的日誌記錄解決方案,我只需要打印在開發過程中獲得視覺反饋 – lfagundes

回答

16

添加到您的應用程序:

import tornado.options 
tornado.options.parse_command_line() 

的parse_command_line功能設置日誌記錄。然後你可以通過--logging=loglevel(例如調試)

3

你爲什麼不print?在請求處理程序內的某個地方使用print self.request(可能在prepare方法中)。

或者更好:

class BaseHandler(tornado.web.RequestHandler): 
    def prepare(self): 
     print self.request 

class SomeHandler(BaseHandler): 
    ... 

使用您的請求處理一個基類,從那個時候就繼承它。

+3

龍捲風使異步io,打印是阻止請求IO,你應該總是使用記錄器,而不是 – 0x41ndrea

+1

好吧,但我想過使用這個僅用於調試目的。 – fiatjaf

27

您可以添加這對您的應用程序:

from tornado.log import enable_pretty_logging 
enable_pretty_logging() 

默認情況下,將日誌寫入到標準輸出。

+1

謝謝你!就是這個。那麼你可以「tail -f /var/log/supervisor/tornado-stdout.log」---或whatevver – OWADVL

相關問題