python_logging大法,你还在用print debug么

本文介绍了Python的logging模块,重点强调其规范日志格式、简化操作和分级管理的功能,帮助开发者从传统的print调试提升到更专业的日志管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

logging模块

具有的功能:
1、日志格式的规范
2、操作的简化
3、日志的分级管理

# logging模块的使用
# 第一种普通配置型,该方法简单,但是个性化定制性较差。
# basicConfig 不能将日志即在屏幕打印又在文件中写入。
import logging
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt = '%a,%d %b %Y %H:%M:%S')
logging.debug("debug message") # 调试模式
logging.info("info message")   # 基础信息模块
logging.warning("warning message") # 警告
logging.error("error message") # 错误
logging.critical("critical message") # 严重错误
Wed,13 May 2020 11:35:58 untitled0.py[line:10] DEBUG debug message
Wed,13 May 2020 11:35:58 untitled0.py[line:11] INFO info message
Wed,13 May 2020 11:35:58 untitled0.py[line:12] WARNING warning message
Wed,13 May 2020 11:35:58 untitled0.py[line:13] ERROR error message
Wed,13 May 2020 11:35:58 untitled0.py[line:14] CRITICAL critical message
# 第二种
# logger对象的形式来操作日志文件
import logging
# 创建一个logger对象
log = logging.getLogger()

# 创建一个文件管理操作符
fh = logging.FileHandler('logger.log',encoding = 'utf-8')

# 创建一个屏幕管理操作符
sh = logging.StreamHandler()

# log级别
log.setLevel(logging.DEBUG)
# 创建一个日志输出的格式
format1 = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 文件管理操作符 绑定一个 格式
fh.setFormatter(format1)
# 屏幕管理操作符 绑定一个 格式
sh.setFormatter(format1)
# logger对象绑定文件管理操作符
log.addHandler(fh)
# logger对象绑定屏幕管理操作符
log.addHandler(sh)
log.debug("debug message 大弟子")
log.info("ingo message 中文")
DEBUG:root:debug message 大弟子
2020-05-13 16:17:52,116 - root - DEBUG - debug message 大弟子
2020-05-13 16:17:52,116 - root - DEBUG - debug message 大弟子
2020-05-13 16:17:52,116 - root - DEBUG - debug message 大弟子
debug message 大弟子
INFO:root:ingo message 中文
2020-05-13 16:17:52,128 - root - INFO - ingo message 中文
2020-05-13 16:17:52,128 - root - INFO - ingo message 中文
2020-05-13 16:17:52,128 - root - INFO - ingo message 中文
ingo message 中文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值