logging模块

【 一 】前言

  logging 模块是 Python 中用于记录日志信息的标准库模块。通过使用 logging 模块,你可以在应用程序中设置日志记录以追踪代码执行、错误报告等信息。

  • debug : 打印全部的日志( notset 等同于 debug )
  • info : 打印 info, warning, error, critical 级别的日志
  • warning : 打印 warning, error, critical 级别的日志
  • error : 打印 error, critical 级别的日志
  • critical : 打印 critical 级别

【 二 】日志级别介绍

【 1 】Logging 模块提供了两种日志记录方式:

  • 一种方式是使用Logging 提供的模块级别的函数
  • 另一种方式是使用Logging 日志系统的四大组件记录
import logging
logging.debug('这是一个调试信息')
logging.info('这是一条信息')
logging.warning('这是一个警告')
logging.error('这是一个错误')
logging.critical('这是一个严重错误')# WARNING:root:这是一个警告
# ERROR:root:这是一个错误
# CRITICAL:root:这是一个严重错误

这为什么只能输出3个级别信息的日志。因为debug和info的级别太低了。如果想要输出如下:

import logging# 配置日志,将级别设置为DEBUG
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s - %(levelname)s - %(message)s')logging.debug('这是一个调试信息')
logging.info('这是一条信息')
logging.warning('这是一个警告')
logging.error('这是一个错误')
logging.critical('这是一个严重错误')
# 2023-12-20 18:45:57,138 - DEBUG - 这是一个调试信息
# 2023-12-20 18:45:57,138 - INFO - 这是一条信息
# 2023-12-20 18:45:57,138 - WARNING - 这是一个警告
# 2023-12-20 18:45:57,138 - ERROR - 这是一个错误
# 2023-12-20 18:45:57,138 - CRITICAL - 这是一个严重错误

【2】Logging 定义的模块级别函数

【 3 】设置日志显示级别

通过logging。basicConfig() 可以设置root的日志级别,和日志输出格式。

【logging.basicConfig() 关键字参数】

【format 格式】

 

注意:Logging.basicConfig() 需要在开头就设置,在中间设置并无作用

示例:

import logging
#打印日志级别
def test():# 配置日志级别为 DEBUGlogging.basicConfig(level=logging.DEBUG)# 记录 DEBUG 级别的日志logging.debug('Python debug')# 记录 INFO 级别的日志logging.info('Python info')# 记录 WARNING 级别的日志logging.warning('Python warning')# 记录 ERROR 级别的日志logging.error('Python error')# 记录 CRITICAL 级别的日志logging.critical('Python critical')# 使用 log() 方法记录特定级别的日志,这里记录级别为 3(与 WARNING 级别相同)logging.log(3,'test')
test()
# DEBUG:root:Python debug
# INFO:root:Python info
# WARNING:root:Python warning
# ERROR:root:Python error
# CRITICAL:root:Python critical

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/288794.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB的原子操作findAndModify和findOneAndUpdate

本文主要介绍MongoDB的原子操作findAndModify和findOneAndUpdate。 目录 MongoDB的原子操作一、findAndModify二、findOneAndUpdate MongoDB的原子操作 MongoDB的原子操作指的是在单个操作中对数据库的数据进行读取和修改,并确保操作是原子的,即要么完全…

探讨小鹏汽车CAN通讯协议分析破解过程数据研究技术应用

当前新能源电动汽车设计日益复杂,为提高舒适性、功能性、提升性能和确保更高的安全性,很多汽车的设计中融入了更复杂的功能。包括了雷达、激光雷达、自适应巡航、L2以上自动驾驶系统,高级驾驶辅助系统、盲区监测等等。安装在汽车上的传感器和…

元宇宙3d展厅全景导览系统为现代展会的举办带来了全新的可能性和机遇。

3D元宇宙展会搭建平台的亮点 随着科技的不断进步,3D元宇宙展会搭建平台已经成为了现代展会的新趋势。这种全新的展会形式不仅给人们带来了前所未有的视觉体验,还具备许多亮点和优势,让展会的举办更加高效、便捷和创新。 一、突破时空限制 3D元…

Power BI案例-医院数据集的仪表盘制作

数据集描述 医生数据集doctor 医生编号是唯一的,名称会存在重复 医疗项目数据projects 病例编号是唯一的,注意这个日期编号不是真正的日期。 日期数据date 这里的日期编号对应医疗项目数据中的日期编号 科室数据集Department 维度表 采购成本事实表…

基于vue-cli快速发布vue npm 包

一、编写组件 1. 初始化项目并运行 vue create vue-digital-countnpm run serve2. 组件封装 新建package文件夹 ​ 因为我们可能会封装多个组件,所以在src下面新建一个package文件夹用来存放所有需要上传的组件。 ​ 当然,如果只有一个组件&#xff…

用户管理第2节课--idea 2023.2 后端规整项目目录

目的:当项目文件多了之后,咱们也能够非常清晰的去找到代码的一个目录 一、项目规整了两大处 1.1 com.yupi.usercenter & resources 二、具体操作 com.daisy.usercenter 2.1 原版 & 鱼皮有出入,demos.web就不删除了 原因&#…

基于DSP的IIR数字滤波器(论文+源码)

1.系统设计 在本次基于DSP的IIR数字低通滤波计中,拟以TMS320F28335来作为系统的主控制器,通过ADC0832模数转换芯片来对输入信号进行采集;通过TLC5615来将低通滤波后的信号进行输出;同时结合MATLAB仿真软件,对设计的II…

架构设计到底是什么?

文章目录 架构设计有哪些内容?架构原理与技术认知分布式技术原理与设计中间件常用组件的原理和设计问题数据库原理与设计问题分布式缓存原理与设计问题互联网高性能高可用设计问题 技术认知架构分析问题分析能力边界 架构设计,是中高级研发工程师逃不开的…

工作流引擎的架构设计与对比

所谓工作流引擎是指 workflow 作为应用系统的一部分,并为之提供对各应用系统有决定作用的,根据角色、分工和条件的不同决定信息传递路由、内容等级 等核心解决方案。工作流引擎可以灵活地配置工作流程,并且可以自动化的根据配置进行状态变更和…

SpringCloud源码探析(十二)-基于SpringBoot开发自定义中间件

1.概述 中间件是一种介于操作系统和应用软件之间,为应用软件提供服务功能的软件,按功能划分有消息中间件(Kafka、RocketMQ)、通信中间件(RPC通信中间件,dubbo等),应用服务器等。中间…

MyBatis进行CRUD中添加数据实现主键回填

文章目录 MyBatis进行CRUD中添加数据实现主键回填1、创建一个mybatis项目2、实现添加数据时主键回填在MyBatisTest.java中添加下面方法在UserMapper.java中添加对应的属性在UserMapper.xml中添加sql语句如下运行结果如下(取消commit方法注释后就不会出现Rolling back回滚进行真…

海外问卷使用动态ip和静态ip有哪些优缺点?

使用动态IP的优点包括: 1、高度匿名性:通过动态切换IP地址来隐藏用户的真实身份,提供更高的匿名性,确保数据的安全。 2、成本效益:相对于静态IP而言,动态IP的获取和使用成本更低,对于短期或小规…