当前位置: 首页 > article >正文

python的logging模块setLevel(LEVELS.get(‘default‘,logging.NOTSET))

LEVELS = {'debug':logging.DEBUG,
          'info':logging.INFO,
          'warning':logging.WARNING,
          'error':logging.ERROR,
          'critical':logging.CRITICAL}
logger.setLevel(LEVELS.get('default',logging.NOTSET))

logger.setLevel(LEVELS.get(‘default’,logging.NOTSET)) 是在Python中使用logging模块配置日志记录器时的一行代码。这行代码的作用是设置日志记录器的级别。让我们来详细解释一下:

logger 是一个日志记录器对象,它是一个logging.Logger类的实例。
setLevel 方法用于设置日志记录器的级别,即确定应该记录哪些级别的日志信息。
LEVELS 是一个字典(在Python中表示为dict),它可能存储了不同日志级别的名称和对应的值。
get 方法是字典的方法,用于获取字典中键对应的值。如果键不存在,则返回提供的第二个参数,这里是一个默认值logging.NOTSET。
logging.NOTSET 是logging模块中定义的一个级别,其数值为0。它表示不进行任何日志记录。
具体到这行代码:

LEVELS.get(‘default’,logging.NOTSET):尝试从LEVELS字典中获取键’default’对应的值。如果’default’不存在,则返回logging.NOTSET。
然后将获取到的值(可能是一个日志级别,如logging.INFO、logging.DEBUG等,或者logging.NOTSET)设置为logger的日志级别。

这段代码是使用 Python 的标准库 logging 进行日志级别设置。
logger 应该是一个日志记录器对象。LEVELS.get(‘default’, logging.NOTSET) 尝试从名为 LEVELS 的字典中获取键为 ‘default’ 的值,如果该键不存在,则返回 logging.NOTSET。然后将获取到的值作为日志级别设置给日志记录器 logger。
如果 LEVELS 字典中定义了合理的日志级别(例如 logging.DEBUG、logging.INFO、logging.WARNING、logging.ERROR、logging.CRITICAL),那么这段代码可以根据配置动态地设置日志记录器的级别。如果 LEVELS 字典中没有 ‘default’ 键或者对应的值不合法,日志记录器将使用默认的 NOTSET 级别,这意味着将记录所有级别的日志消息,因为 NOTSET 会使得日志记录器将日志传递给父级处理程序,而父级处理程序的默认行为是处理所有级别的日志。

logging.NOTSET是 Python 标准库logging模块中的一个常量。
当一个日志记录器(Logger)被设置为logging.NOTSET级别时,它实际上将把日志事件传递给它的父级日志记录器处理,并且不会对日志事件进行任何过滤或处理。
例如,如果一个日志记录器的级别设置为logging.NOTSET,而它的父级日志记录器的级别设置为logging.INFO,那么这个日志记录器将把所有的日志事件传递给父级日志记录器,并且只有那些级别为logging.INFO或更高级别的日志事件才会被处理和输出。


http://www.kler.cn/a/294472.html

相关文章:

  • 【项目开发 | 跨域认证】JSON Web Token(JWT)
  • 谷歌浏览器的自动翻译功能如何开启
  • void * 指针与整数进行加减运算
  • go do sth和come do sth的区别
  • 大数据技术之Hadoop :我是恁爹
  • 前端入门一之ES6--面向对象、够着函数和原型、继承、ES5新增方法、函数进阶、严格模式、高阶函数、闭包
  • 如何把自动获取的ip地址固定
  • 每日一题~cf 970 div3 (A思维,B小模拟,C二分,D排列数建图成环,E 26个字母暴力+前缀和,F 逆元,G 数论gcd )
  • 13款常用AI编程工具
  • 稳定的亚马逊自养号测评系统需具备哪些条件
  • Redis:Redis性能变慢的原因
  • JavaScript 知识点总结
  • Linux下安装使用Git及常用操作命令详解
  • AIOT人工智能物联网六大场景
  • Linux下基于TCP协议的简易服务器实现(C语言)
  • OpenCV中的颜色映射函数applyColorMap的使用
  • LCP 485. 最大连续 1 的个数[lleetcode -11]
  • 通信工程学习:什么是PCM脉冲编码调制、DPCM差分脉冲编码调制、ADPCM自适应差分脉冲编码调制
  • Flask中实现上下文管理
  • ARM基础---编程模型---ARM汇编
  • 把设计模式用起来!(1)——楔
  • 算法复杂度 —— 数据结构前言、算法效率、时间复杂度、空间复杂度、常见复杂度对比、复杂度算法题(旋转数组)
  • 掌握Hive函数[2]:从基础到高级应用
  • 对比测评3款BI分析工具
  • es数组包含查询
  • 『功能项目』战士的A键连击【33】