6.28.8.1 Basic example - log to a file

Here's a simple logging example that just logs to a file. In order, it creates a Logger instance, then a FileHandler and a Formatter. It attaches the Formatter to the FileHandler, then the FileHandler to the Logger. Finally, it sets a debug level for the logger.

import logging
logger = logging.getLogger('myapp')
hdlr = logging.FileHandler('/var/tmp/myapp.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr) 
logger.setLevel(logging.WARNING)

We can use this logger object now to write entries to the log file:

logger.error('We have a problem')
logger.info('While this is just chatty')

If we look in the file that was created, we'll see something like this:

2003-07-08 16:49:45,896 ERROR We have a problem

The info message was not written to the file - we called the setLevel method to say we only wanted WARNING or worse, so the info message is discarded.

The timestamp is of the form ``year-month-day hour:minutes:seconds,milliseconds.'' Note that despite the three digits of precision in the milliseconds field, not all systems provide time with this much precision.

See About this document... for information on suggesting changes.