python 日志处理(基础篇)

Logging处理

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

简单的使用一下

import logging


# 打印日志级别
def test_logging():
    logging.debug('Python debug')
    logging.info('Python info')
    logging.warning('Python warning')
    logging.error('Python Error')
    logging.critical('Python critical')


test_logging()

在这里插入图片描述
当指定一个日志级别之后,会记录大于或等于这个日志级别的日志信息,小于的将会被丢弃,默认情况下日志打印只显示大于等于 WARNING 级别的日志

设置级别

def test_logging():
    logging.basicConfig(level=logging.INFO)  # 设置级别
    logging.debug('Python debug')
    logging.info('Python info')
    logging.warning('Python warning')
    logging.error('Python Error')
    logging.critical('Python critical')

在这里插入图片描述
可以看到我们修改级别之后从我们设置的级别开始打印了,小于这个级别的不会去显示

设置日志文件

logging.basicConfig(filename="1.log", level=logging.INFO)  # 设置日志文件,级别

然后就会在你所在.py文件的相对路径生成一个.log的文件,里面打印的内容一模一样
在这里插入图片描述

多模块记录日志

import logging
import mylog  # 引入外部文件


# 打印日志级别
def test_logging():
    logging.basicConfig(filename="1.log", level=logging.INFO)  # 设置日志文件,级别
    logging.debug('Python debug')
    logging.info('4 info')
    mylog.dolog()
    logging.warning('Python warning')
    logging.error('Python Error')
    logging.critical('Python critical')


test_logging()

自己手动随便写一个函数,练练手就好了
在这里插入图片描述
结果如下:
在这里插入图片描述
接下来我们使用常规的日志处理操作(简单版)

import logging

# 创建日志器对象
logger = logging.getLogger("tang")
logger.setLevel("INFO")  # 优先级最大
# 创建日志控制台处理器
con = logging.StreamHandler()
# 创建文本处理器
ben = logging.FileHandler("2.log")
# 控制台日期输入等级
con.setLevel(level="WARNING")  # 其次是它
# 设置输出格式
console_fmt = "%(name)s,%(message)s,%(asctime)s"
file_fmt = "%(filename)s,%(asctime)s,%(levelname)s"
fmt1 = logging.Formatter(fmt=console_fmt)
fmt2 = logging.Formatter(fmt=file_fmt)
con.setFormatter(fmt1)
ben.setFormatter(fmt2)
# 添加控制台处理器
logger.addHandler(con)
logger.addHandler(ben)
# 定义过滤器
# filt1 = logging.Filter("tang")  # 过滤名字
# 关联过滤器
# logger.addFilter(filt1)
# 可以单独加过滤器
# con.addFilter()
# ben.addFilter()

logger.debug('Python debug')
logger.info('Python info')
logger.warning('Python warning')
logger.error('Python Error')
logger.critical('Python critical')
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发酵的西瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值