Skip to content

Instantly share code, notes, and snippets.

@bootandy
Created May 8, 2013 14:58
Show Gist options
  • Save bootandy/5541035 to your computer and use it in GitHub Desktop.
Save bootandy/5541035 to your computer and use it in GitHub Desktop.
sample logging - setting up logging to go to different files
import logging
import logging.handlers
# set up logging to file - see previous section for more details
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%m-%d %H:%M',
filename='myapp.log',
filemode='w')
# Send logs of type1 to a different file
type1_file = logging.handlers.TimedRotatingFileHandler('type1.log', when='W0')
logging.getLogger('myapp.area1').addHandler(type1_file)
# define a Handler which writes INFO messages or higher to the sys.stderr
console = logging.StreamHandler()
console.setLevel(logging.INFO)
# set a format which is simpler for console use
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
# tell the handler to use this format
console.setFormatter(formatter)
# add the handler to the root logger
logging.getLogger('').addHandler(console)
# Now, we can log to the root logger, or any other logger. First the root...
logging.info('Jackdaws love my big sphinx of quartz.')
# Now, define a couple of other loggers which might represent areas in your
# application:
logger1 = logging.getLogger('myapp.area1')
logger2 = logging.getLogger('myapp.area2')
logger1.debug('Quick zephyrs blow, vexing daft Jim.')
logger1.info('How quickly daft jumping zebras vex.')
logger2.warning('Jail zesty vixen who grabbed pay from quack.')
logger2.error('The five boxing wizards jump quickly.')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment