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

Python 日志(略讲)

日志操作

在这里插入图片描述

日志输出:

# 输出日志信息
logging.debug("调试级别日志")
logging.info("信息级别日志")
logging.warning("警告级别日志")
logging.error("错误级别日志")
logging.critical("严重级别日志")

级别设置

logging.basicConfig(level=logging.DEBUG") #设置日志级别从DEBUG级开始

基础操作Code

# author:xiaowang
# date:2023/12/6
# 需求:日志  优先级:DEBUG < INFO < WARNING < ERROR< CRITICAL
# 用途:调试程序
import logging
# 自定义日志格式
# fmt = "%(asctime)s - %(levelname)s - %(message)s"
# 时间、级别、用户、文件名、类名、行、提示信息
fmt="%(asctime)s -%(levelname)s -[%(name)s] -[%(filename)s -(%(funcName)s:%(lineno)d)] - %(message)s"
# 设置日志级别从那级开始
logging.basicConfig(level=logging.DEBUG,format=fmt,filename="log/shuchu.log") #设置日志级别从DEBUG级开始# 输出日志信息
logging.debug("调试级别日志")
logging.info("信息级别日志")
logging.warning("警告级别日志")
logging.error("错误级别日志")
logging.critical("严重级别日志")

输出到文档

在这里插入图片描述

高级操作

流程:

在这里插入图片描述
在这里插入图片描述
Q1:日志器和处理器都设置了级别,到底是执行那个级别?
谁的级别高谁起作用

高级操作 Code

# 原理类似分液漏斗 四大组件日志器 logger 处理器 handler 格式器 formatter 过滤器 filter
import logging.handlers  #手工导包
import logging
import timelogger = logging.getLogger() #创建日志器
logger.setLevel(logging.DEBUG) #设置日志级别
sf = logging.StreamHandler() #创建控制台处理器
hf = logging.handlers.TimedRotatingFileHandler("log.log",when='M',interval=1,backupCount=3) #创建文件处理器(每隔1分钟备份1次,1次3份)
sf.setLevel(logging.DEBUG) #将DEBUG级别的提示信息送到控制台
hf.setLevel(logging.INFO) #将INFO级别的提示信息送到文件处理器# 创建格式器
fmt="%(asctime)s -%(levelname)s -[%(name)s] -[%(filename)s -(%(funcName)s:%(lineno)d)] - %(message)s"
formatter = logging.Formatter(fmt=fmt)# 将格式器添加到处理器中
sf.setFormatter(formatter)
hf.setFormatter(formatter)# 将处理器添加到日志
logger.addHandler(sf)
logger.addHandler(hf)#输出日志信息
while True:time.sleep(3)logging.debug("调试级别日志")logging.info("信息级别日志")logging.warning("警告级别日志")logging.error("错误级别日志")logging.critical("严重级别日志")

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/254707.html

相关文章:

  • C++ 指针进阶
  • stm32中滴答定时器与普通定时器的区别
  • 某60区块链安全之薅羊毛攻击实战一学习记录
  • Java程序员,你掌握了多线程吗?(文末送书)
  • 排序算法——桶排序/基数排序/计数排序
  • FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(三十六)
  • git学习笔记02(小滴课堂)
  • 2022 RedisDays 内容揭秘
  • 论文阅读——Img2LLM(cvpr2023)
  • 南京大学考研机试题DP
  • 如何进行多ip服务器租用?
  • (动手学习深度学习)第13章 实战kaggle竞赛:树叶分类
  • vue中shift+alt+f格式化防止格式掉其它内容
  • WPS导出的PDF比较糊,和原始的不太一样,将带有SVG的文档输出为PDF
  • Linux /etc/hosts文件
  • webpack学习-3.管理输出
  • 【Go语言反射reflect】
  • LC-1466. 重新规划路线(DFS、BFS)
  • 自动数据增广论文笔记 | AutoAugment: Learning Augmentation Strategies from Data
  • CTF 7
  • 无公网IP环境Windows系统使用VNC远程连接Deepin桌面
  • java--枚举
  • JVM垃圾回收机制GC
  • 详解JAVA中的@ApiModel和@ApiModelProperty注解
  • TiDB专题---2、TiDB整体架构和应用场景
  • 性能调优入门
  • JavaWeb | 验证码 、 文件的“上传”与“下载”
  • 服务器感染了.halo勒索病毒,如何确保数据文件完整恢复?
  • docker安装elasticsearch8.5.0和kibana
  • 如何使用内网穿透工具实现公网访问GeoServe Web管理界面