python的logging模块

今天维护一个Python写的拉取mysql数据库数据到hive数据仓库的脚本。发现里边的日志竟然都是print出来的,调试起来很吃力所以在这个工具中加入logging输出日志,方便生产故障的跟踪和解决。


import logging

#创建一个logger

logger = logging.getLogger('mylogger')

logger.setLevel(logging.DEBUG)

#创建一个filehandler 输出日志到一个文件中,级别为debug以上

#filehandler = logging.StreamHandler('test.log')

#filehandler.setLevel(logging.DEBUG)


#创建一个control handler 输出日志到控制台,级别为debug以上

handler = logging.StreamHandler()

handler.setLevel(logging.DEBUG)

#定义handler输出格式

formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')

handler.setFormatter(formatter)

logger.addHandler(handler)

#打印日志

logger.info("info message")

logger.warn("warn message")

logger.error("error message")

在记录日志后移除handler

logger.removeHandler(handler)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在之前的多个项目中都有用到过logging模块,虽然用过,但没有研究过,只是在每个代码文件中使用logger=lo...
    KenHan阅读 4,392评论 0 2
  • 在现实生活中,记录日志非常重要。银行转账时会有转账记录;飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中...
    chliar阅读 4,179评论 1 0
  • 本文章是我大概三年前,在上家单位使用 Python 工作时结合官方文档做的整理。现在 Python 官方文档听说已...
    好吃的野菜阅读 217,713评论 14 232
  • 昨晚做了一个梦,梦到你,哭醒了。醒过来之后,大哭了一场。不过不能高声痛快地哭一场,只能抽抽噎噎的,让眼泪直流到枕衣...
    屿鹿8575阅读 4,357评论 2 6
  • 师兄从广州回来答辩,挺想约他吃饭的,结果还是没有约成。在意的朋友,最后还是把我给忘掉了,内心拔凉拔凉,就像内心在流...
    雯子_a642阅读 1,092评论 3 0