python logging 最佳实践

# 创建一个logger, 这里的级别DEBUG是总开关,控制了下面file 和console handler的级别
logger = logging.getLogger('')
logger.setLevel(logging.DEBUG)

# 创建一个handler,用于写入日志文件, 并定义输出格式
fh = logging.FileHandler(os.path.basename(__file__).replace(".py", ".log"))
fh.setLevel(logging.DEBUG)
ffmt = logging.Formatter('%(asctime)s %(process)d %(thread)d %(levelname)s @ %(filename)s-%(lineno)d: %(message)s')
fh.setFormatter(ffmt)

# 再创建一个handler,用于输出到控制台,仅输出错误信息
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
cfmt = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')
ch.setFormatter(cfmt)

# 给logger添加handler
logger.addHandler(ch)
logger.addHandler(fh)

prod_log = logging.getLogger('prod')
prod_log.setLevel(logging.ERROR)

#记录日志, 日志文件记录了所有级别,控制台只记录warning及以上等级
logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.critical('critical')


#记录日志,由于 prod_log.setLevel(logging.ERROR) 语句,file 和 console 都只记录ERROR 以上级别的消息
prod_log.debug('prod debug')
prod_log.info('prod info')
prod_log.warning('prod warning')
prod_log.error('prod error')
prod_log.critical('prod critical')


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值