当前位置: 首页 > 编程笔记 >

在python中logger setlevel没有生效的解决

杜俊晤
2023-03-14
本文向大家介绍在python中logger setlevel没有生效的解决,包括了在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')

以上这篇在python中logger setlevel没有生效的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 我用用java 9更新了gradle文件,然后gradle将所有项目更新为使用java 8!即使是将源代码和目标兼容性设置为Java1.6的子项目。这是一个窃听器还是我漏了什么?我不知道是否与此相关的一点是,当我运行compileJava时,我会收到以下警告:

  • 问题内容: 我尝试寻找其他答案,但仍不确定正确的方法。我有许多个非常大的.csv文件(每个文件可以是一个千兆字节),我想首先获取它们的列标签,因为它们并不完全相同,然后根据用户的喜好使用某些条件提取其中的一些列。在开始提取部分之前,我做了一个简单的测试,以了解解析此文件的最快方法,这是我的代码: 我的结果是: 因此,似乎大多数人使用的csv库确实比其他人慢很多。也许以后证明当我开始从csv文件中提

  • 这样写页面选中没有生效

  • 问题内容: 我目前正在阅读Python,目前正在研究生成器。我发现很难回头。 从Java的背景出发,是否有Java的等效语言?这本书讲的是“生产者/消费者”,但是当我听说线程的时候。 什么是发电机,为什么要使用它?显然,无需引用任何书籍(除非您可以直接从书籍中找到一个体面,简单的答案)。也许举一些例子,如果您感到慷慨! 问题答案: 注意:本文采用Python 3.x语法。† 一个发电机仅仅是它返回

  • 问题内容: 我正在尝试使用Spring @Transactional批注,但是在调用 findAll 方法时出现问题,并且出现以下错误: 人DAO: 这是我的: 我尝试删除此行,但是又出现了一个错误,为什么这行不通? 问题答案: 您必须显式声明对事务管理器注释的支持 添加到您的配置中: tx是xmlns:tx =“ http://www.springframework.org/schema/tx”

  • 问题内容: INFINITE是这里的关键词。 我希望将其用作。我相信这是中的内置函数。 因此,答案不能像“只做筛子”那样幼稚。 首先,你不知道会消耗多少连续的素数。好吧,假设你一次可以炮制100个。你会使用相同的方法以及质数频率公式吗? 问题答案: 菜谱中的功能可以进一步加快(大约20-25%): 该检查验证x为奇数。然而,由于这两个 q和p是奇数,通过添加2*p下列步骤一半避免随着测试古怪。 擦