简体   繁体   中英

How to output logging.info and logging.debug to console?

I can only see warning and error, how can I get info and debug printed out? To clarify, I am starting the tornado app with python app.py . I want the info and debug logs to print out to the console after I run the app.

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write('hello fun fun test world from tornado super')
        logging.info('info')
        logging.warning('warning')
        logging.error('error')
        logging.debug('debug')


application = tornado.web.Application([(r"/", MainHandler)], debug=True)

You probably need to change the level of the logging module to allow for debug and info messages to be displayed in the console.

logger.setLevel(logging.DEBUG) # this should allow all messages to be displayed

if you don't want to display debug messages then do this:

logger.setLevel(logging.INFO)

And just a quick fyi. Here are the levels in order, so if you set one of them it will display any messages of the types below the set level and it will NOT any messages above the set level.

logging.DEBUG
logging.INFO
logging.WARNING
logging.ERROR
logging.CRITICAL

By calling tornado.options.parse_command_line you register tornado command line flags.

You can use logging command line flag to change logging level from command line.

For more information: https://stackoverflow.com/a/14269208/63097

python helloworld.py --logging=debug

Here's the trick: you can directly modify tornados internal access logger:

import logging
import tornado
import tornado.log

tornado.log.access_log.setLevel(logging.DEBUG)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM