2021-07-03

python中的logging

logging相比print能更好的控制输出在什么地方,能更方便的进行调试,发现问题,解决问题

日志级别

critical>error>warning>info>debug
critical:出现重大问题导致程序不能正常运行
error:程序不能执行的一些功能
warning:警告
info:记录关键节点的信息,用于确认工作
debug:记录最详细的日志信息

logging组件

1.日志器:logger 提供应用程序可以使用的接口
2.处理器:handle:可以设置日志级别,储存位置
3.格式器:formatter:设置日志打印格式
日志器可以添加多个的处理器,处理器可以添加多个的格式器

例:
import logging
class log_objiect():
	#构造日志器
    def __init__(self):
        self.log = logging.getLogger()
    def stream_handle(self):
        self.h1 = logging.StreamHandler()	#生成处理器,控制台输出日志
        self.h1.setLevel(level=logging.DEBUG)	#设置日志级别
        self.log.addHandler(self.h1)	#添加处理器到日志器
        self.f1 = logging.Formatter(fmt='%(name)s >> %(filename)s >> %(levelname)s >> %(message)s')	#设置日志格式
        self.h1.setFormatter(self.f1)	#添加格式器到处理器
        return self.log
    def file_handle(self,file):
        self.h2 = logging.FileHandler(file, mode='a', encoding="utf-8")	#生成处理器,当前目录下生成日志文件
        self.h2.setLevel(level=logging.WARNING)	#设置日志级别
        self.log.addHandler(self.h2)	#添加处理器到日志器
        self.f2 = logging.Formatter(fmt='%(name)s >> %(filename)s >> %(levelname)s >> %(message)s')	#设置日志格式
        self.h2.setFormatter(self.f2)	#添加格式器到处理器
        return self.log
if __name__ == '__main__':
    logger = log_objiect()
    logger.stream_handle()
    res = logger.file_handle('sad.log')
    res.info('111')
    res.error('sada')
    res.warning('sadx')

输出:root >> 1.py >> ERROR >> sada
	  root >> 1.py >> WARNING >> sadx


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值