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

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.mrgr.cn/news/20170.html

相关文章:

  • 手机玩《逆水寒》PC端游,GameViewer远程助力手机远程畅玩《逆水寒》电脑版
  • 磁珠在工业应用中的过热烧毁问题
  • 吃多一时爽,吃少活更长!
  • 深入探讨Spring中Bean的初始化方式
  • 数字与文字组合商标,有一个元素近似整体驳回!
  • 中国各省会、地级市到杭州球面距离的数据
  • 代码随想录 -- 二叉树 -- 翻转二叉树
  • OpenAI 的发展启示录
  • 二叉搜索树有哪些实际应用案例
  • 开源|低代码表单FormCreate通过循环创建多个表单?
  • 使用Unity的准备
  • 基于PHP+MySQL组合开发的智能电子企业名片小程序源码系统 带完整的安装代码包以及搭建部署教程
  • Django+Vue协同过滤算法图书推荐系统的设计与实现
  • 监控视频删除了怎么恢复回来?教你恢复的方法
  • PHP创新引领智慧先行智慧小区物业管理系统小程序源码
  • 创新大赛国赛路演:如何准备一份打动人心的路演稿
  • idea新建父工程和添加导入新模块的步骤
  • 通过组合Self-XSS + CSRF得到存储型XSS
  • Tomato靶场通关攻略
  • 【免费分享】嵌入式Linux开发板【入门+项目,应用+底层】资料包一网打尽,附教程/视频/源码...