python logger 同样数据输出两条

查看:347
本文介绍了python logger 同样数据输出两条的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

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传的实参都是一样的

这篇关于python logger 同样数据输出两条的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆