Python中logging模块

大家在写代码的时候,经常会使用print打印日志方便排查问题,然而print的问题就是太过简单,缺少时间、日志级别等格式化信息。

Python自带的logging模块,很简单就能实现日志的配置和打印,它有两种用法,方法1是把日志输出到标准输出,其实就是命令行界面,方法2则是输出日志到文件,更加方便。

方法1:配置并输出日志到标准输出

该种方法的输出方式类似于print,不同之处在于可以设置各种输出格式,如打印时间等。

import logging

LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT)

logging.info("清空重建表")

当执行上述程序,就会输出:

2022-03-16 11:52:19,424 - INFO - 清空重建表

方法2:配置输出到日志文件

该种方式会创建一个日志文件,并将信息保存到该日志文件当中。

import logging
import logging.handlers

LOG_FILE = "test_log.log"
logging.basicConfig(filename=LOG_FILE,
                    filemode="w",
                    format="[%(levelname)s] %(asctime)s [%(filename)s:%(lineno)d, %(funcName)s] %(message)s",
                    level=logging.INFO)
time_hdls = logging.handlers.TimedRotatingFileHandler(LOG_FILE, when='D', interval=1, backupCount=7)
logging.getLogger().addHandler(time_hdls)

logging.info("hello world")

当执行上述程序,就会生成一个名叫test_log.log的文件。这个日志文件,会每天备份一个文件,并且只保留7天的日志。文件中的信息如下:

[INFO] 2022-03-16 11:58:53,217 [print_test.py:40, <module>] hello world
hello world

参考资源

[1] Python小知识,别用print打印日志,可以用logging模块

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值