【无标题】python中日志重复打印的解决方案

在编写Python代码时遇到了日志重复打印的困扰。经过研究发现,问题源于logger对象被多次声明。本文介绍了两种解决方案:一是每次创建handler前清除已有handler;二是检查logger是否已存在handler,若为空才创建新的handler。

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

最近在写代码的过程中,遇到日志重复打印的问题,经过查阅资料和打断点分析,主要的原因是logger被多次声明,所以以下列出两种解决方案:
#方案一,每次创建handler时先清空handler
logger.handlers.clear()

#方案二
#为了防止logger被创建很多个handler,这里在创建handler时先进行判断
if not logger.handlers:
#handler为空,则创建handler
# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG) 等等其他的定义log的代码

# create logger
logger = logging.getLogger('logger_utils')
#防止日志重复打印的两种方案,方案一
#每次创建handler时先清空handler
# logger.handlers.clear()
# logger1 = logging.getLogger('simple_example1')
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值