python logger_python logger 同样数据输出两条

在使用Python的logging模块时,遇到同一数据被输出两次的问题。代码中创建了一个Log类,初始化时设置日志级别、文件及流处理器,并定义了日志格式。问题可能由于在不同位置使用相同logname造成的,但其他环境未复现该问题。
摘要由CSDN通过智能技术生成

代码如下,对照了下,没找到问题!!!!!

import logging

from logging.handlers import TimedRotatingFileHandler

log_path = ""

class Log():

def __init__(self, logname, logger,loglevel=logging.DEBUG):

# set log level

self.logger = logging.getLogger(logger)

self.logger.setLevel(loglevel)

# file handler for log

#fh = logging.FileHandler(logname)

fh = TimedRotatingFileHandler(log_path+logname, when='D' ,interval=10,backupCount=40)

fh.setLevel(loglevel)

# stream handler for log

ch = logging.StreamHandler()

ch.setLevel(loglevel)

# define log format

formatter = logging.Formatter('%(asctime)s - %(name)s - %(funcName)s - %(levelname)s - %(message)s')

#formatter = format_dict[int(loglevel)]

fh.setFormatter(formatter)

ch.setFormatter(formatter)

# add logger handler

self.logger.addHandler(fh)

self.logger.addHandler(ch)

def getlog(self):

return self.logger

logger = Log(logname='log.txt', logger="fb_api").getlog()

if __name__=='__main__':

log_test = Log('test.log', logger='test').getlog()

log_test.info('info')

log_test.debug('debug')

log_test.error('error')

出现这个问题的原因是在不同的地方调用Logger的时候,logname传的实参都是一样的

我用我的电脑 运行你的代码没有出现你说的问题。

是不是你还运行了其他东西

同上,我的环境上也没出现楼主说的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值