2011-11-28 79 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

相关问题