[蛇のレシピ]Pythonログ記録ベストプラクティス

873 ワード

# -*- coding: utf8 -*-

import logging



#     logger

logger = logging.getLogger('mylogger')

logger.setLevel(logging.DEBUG)



#     handler,        

fh = logging.FileHandler('test.log')

fh.setLevel(logging.DEBUG)



#      handler,        ,       

ch = logging.StreamHandler()

ch.setLevel(logging.WARNING)



#   handler     

formatter_f = logging.Formatter('[%(asctime)s][%(process)d:%(thread)d][%(levelname)s] %(message)s')

fh.setFormatter(formatter_f)

formatter_c = logging.Formatter('%(levelname)s: %(message)s')

ch.setFormatter(formatter_c)



#  logger  handler

logger.addHandler(fh)

logger.addHandler(ch)



#     

logger.debug('debug')  

logger.info('info')  

logger.warning('warning')  

logger.error('error')  

logger.critical('critical')