日志级别

本文详细介绍了Python日志系统的五个等级(DEBUG, INFO, WARNING, ERROR, CRITICAL)及其应用场景。同时,讲解了日志输出到控制台和文件的方式,并提供了三种配置日志的方法:Python代码、配置文件以及字典配置。文中还通过实例解释了如何使用fileConfig()函数读取配置文件,并详细说明了配置文件的格式和规则,以及propagate属性在日志传递中的作用。" 125687889,14763116,MPEG-1 Audio Layer II 编码解析与实验实践,"['音频编码', 'MPEG', '音频处理', '信号处理', '数字音频']

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

 

日志一共分成5个等级,从低到高分别是:

  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • CRITICAL

说明:

  • DEBUG:详细的信息,通常只出现在诊断问题上
  • INFO:确认一切按预期运行
  • WARNING:一个迹象表明,一些意想不到事情发生了或表明一些问题在不久将来列如(磁盘空间低),这个软件还能按预期工作
  • ERROR:更严重的问题,软件没能执行一些功能
  • CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行

这5个等级,也分别对应5种打日志的方法:debug,info,warning,error,critical,默认的是warning,当在warning或之上时才被跟踪。

2、日志输出

有两种方式记录跟踪 ,一种输出控制台,另一种是记录到文件中,如日志文件。

2.1、将日志输出到控制台

比如:log1.py如下:

__author__ = 'Administrator'
import logging


"""
将日志信息向终端打印信息
"""
logging.basicConfig(level=logging.WARNING,format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")

logging.debug("这是 logging debug message")
logging.info("这是 logging info message")
logging.warning("这是 logging warning messgae")
logging.error("这是 logging error messgae")
logging.critical("这是 logging critical message")

比如:log2.py如下:

__author__ = 'Administrator'
import logging

"""
将日志信息输出到文件
"""
logging.basicConfig(level=logging.WARNING,
                    filename ="./log.txt",
                    filemode="w",
                    format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")

logging.debug("这是 logging debug message")
logging.info("这是 logging info message")
logging.warning("这是 logging warning messgae")
logging.error("这是 logging error messgae")
logging.critical("这是 logging critical message")

比如log.py

__author__ = 'Administrator'
import logging



"""
将日志信息即可是输出到终端也可以输出到文件
"""
# 第一步 创建一个日志器logger并设置其日志级别为INFO
logger = logging.getLogger("rxz")
logger.setLevel(logging.INFO) #log等级总开关

#第二步 创建一个 handler ,用于写入日志文件
logfile = "./log.txt"
fh = logging.FileHandler(logfile,mode="a",encoding='utf-8') #用open的打开模式这里可以进行参考
fh.setLevel(logging.DEBUG) #输出到file的Log等级的开关

#第三步,在创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING) #输出到console的Log等级的开关

#第四步,定义handler输出格式
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
fh.setFormatter(formatter)
ch.setFormatter(formatter)

#第五步,将logger添加到handler里面
logger.addHandler(fh)
logger.addHandler(ch)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值