How to log requests to stdout in Tornado web serve

2019-04-18 23:08发布

问题:

I'm starting to develop a simple Tornado application, and I'd like to see request log in stdout while I develop. Currently I only see 404 warning messages.

Is there a way to have all requests printed in stdout?

回答1:

Add this to your app:

import tornado.options
tornado.options.parse_command_line()

The parse_command_line function sets up logging. You can then pass --logging=loglevel (e.g. debug)



回答2:

You can add this to you application:

from tornado.log import enable_pretty_logging
enable_pretty_logging()

By default it writes logs to stdout.



回答3:

Why don't you print? Use print self.request somewhere inside the request handler (maybe inside the prepare method).

Or better:

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

class SomeHandler(BaseHandler):
    ...

use a base class for your request handlers and subclass it from that time on.



标签: tornado