python 中logger setlevel没有生效

在logging中,Logger's level 的默认等级为warning

所以虽然在handler中setlervel了,Logger's level 和Handler's Level 但是level取较高的那个(待校验)

所以日志的level 为warning

解决此问题可以采用

logging.root.setLevel(logging.NOTSET)

 

 

完整源码如下图:

import logging


class loggerr(object):
    def __init__(self,logger):
        self.logger = logging.getLogger(logger)
        self.fmt=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s -%(message)s ')
        logging.root.setLevel(logging.NOTSET)
        #logging.basicConfig(level=logging.NOTSET)


    def getlog(self):

        ch=logging.StreamHandler()
        sh=logging.FileHandler('log1.log')

        ch.setFormatter(self.fmt)
        sh.setFormatter(self.fmt)

        ch.setLevel(logging.INFO)
        sh.setLevel(logging.INFO)

        self.logger.addHandler(ch)
        self.logger.addHandler(sh)
        return self.logger

if __name__ == '__main__':
    mylog=loggerr('mylog').getlog()
    mylog.info('infolog')
    mylog.debug('debuglog')
    mylog.warning('warninglog')
    mylog.error('errorlog')

 

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值