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

python自定义日志等级

自定义日志等级


前言:最近在做需求的时候有一个需求,要求自定义个日志等级,用于保存不同的业务日志,花了小功夫,为防止遗忘,在此记录一下。

# custom_logging.py
import logging

# 自定义日志级别
SUCCESS = 25  # 介于 INFO (20) 和 WARNING (30) 之间

# 向 logging 模块注册新的日志级别
logging.addLevelName(SUCCESS, "SUCCESS")

def success(self, message, *args, **kwargs):
    if self.isEnabledFor(SUCCESS):
        self._log(SUCCESS, message, args, **kwargs)

# 给所有的 Logger 实例添加 success 方法
logging.Logger.success = success

# 允许通过 logging.success 访问日志方法
logging.success = lambda message, *args, **kwargs: logging.getLogger().success(message, *args, **kwargs)

然后,在其他类中,你可以通过导入 custom_logging 模块来使用新的日志级别:

import custom_logging

# 配置日志输出
logging.basicConfig(level=logging.SUCCESS, format='%(asctime)s - %(levelname)s - %(message)s')

# 使用新的日志级别
logging.success('This is a custom SUCCESS level log.')

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

相关文章:

  • 号卡分销系统,号卡系统,物联网卡系统源码安装教程
  • 【流量分析】常见webshell流量分析
  • 二、神经网络基础与搭建
  • SpringBoot配置相关的内容
  • Flume 单机与集群部署详细教程
  • 分布式微服务项目,同一个controller不同方法间的转发导致cookie丢失,报错null pointer异常
  • 企业级-pdf预览-前后端
  • 免费开源的AI 智能网盘,图片和媒体管理工具 | 极空间部署『PicHome』
  • GUI编程18:文本框、密码框、文本域
  • MT76X8、MT7621和MT7981 接NOR FALSH分区表
  • Focalboard开源项目管理系统本地Windows部署与远程访问协同办公
  • C语言读取一行字符_只需要看第四条
  • vue3中echarts柱状图横轴文字太多放不下怎么解决
  • 【深度学习】初识神经网络
  • JAVA同城服务场馆门店预约系统支持H5小程序APP源码
  • [vulnhub] pWnOS v2.0
  • 《MATLAB项目实战》,专栏目录和介绍
  • JavaScript 数据可视化:前端开发的核心工具
  • 校园美食地图:Spring Boot实现的探索与分享平台
  • xpath应用大全
  • Relations Prediction for Knowledge Graph Completion using Large Language Models
  • PG逻辑订阅功能
  • 数据分析师之Excel数据清洗
  • 开始场景的制作+气泡特效的添加
  • 【Webpack】实现持久化缓存
  • 两台虚拟机之分布式部署