Python 日志(略讲)

本文介绍了Python中日志操作的基础用法,包括设置日志级别、自定义日志格式以及高级操作,如使用多个处理器处理不同级别的日志并输出到控制台和文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日志操作

在这里插入图片描述

日志输出:

# 输出日志信息
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 time

logger = 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("严重级别日志")

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值