Python中logging模块
大家在写代码的时候,经常会使用print打印日志方便排查问题,然而print的问题就是太过简单,缺少时间、日志级别等格式化信息。Python自带的logging模块,很简单就能实现日志的配置和打印,它有两种用法,方法1是把日志输出到标准输出,其实就是命令行界面,方法2则是输出日志到文件,更加方便。方法1:配置并输出日志到标准输出该种方法的输出方式类似于print,不同之处在于可以设置各种输出格式,
·
大家在写代码的时候,经常会使用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
参考资源

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)