Python学习22 :Logging日志管理

一.日志模块级别

级别说明
DEBUG输出详细的运行情况,主要用于调试
INFO确认一切按预期运行,一般用于输出重要运行情况
ERROR发生了错误,软件没能执行一些功能,还可以继续执行
WARNING一些意想不到的事情发生了(例如:“警告:内存空间不足”),但是这个软件还能按预期工作,在不久的将来会出现问题
CRITICAL一个严重的错误,表明程序本身可能无法继续运行

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


## 日志类型

  • 文件形式
  • 终端模式

## 日志的作用

  • 出现问题以后,排查问题
  • 定位问题
  • 记录日志

## 实例

import logging

logging.debug("")
logging.info("")
logging.error("")
logging.warning("")
logging.critical("")

二.日志收集器

  • 创建日志收集器 对象logging.getLogger

logger = logging.getLogger("py23") #创建logger对象
logger.setLevel("DEBUG") #指定logger对象手机的loggin信息等级

  • loggin中默认的日志收集器为root,收集等级为Warning

实例

import logging

#得到root收集器
root_logger = logging.getLogger("python29")
#设置收集器的收集等级
root_logger.setLever("DEBUG")
#handler 输出处理器 ;StreamHandler 流xinxi
stream_handler = logging.StreamHandler()
stream_handler.setLever("DEBUG")
#把输出处理器添加到收集器里面
root_logger.addHandler(stream_handler)

root_logger.debug("DEBUG等级日志")
"""
打印结果:DEBUG等级日志
"""

#文件输出处理器 ,默认 moding ="a"
file_handler = logging.FileHandler("log.txt",encoding = "utf-8")
file.setLever("INFO")
root_logger.addHandler(file_handler)

logging.debug("debug等级日志")
logging.info("info等级日志")
logging.error("error等级日志")
logging.warning("warning等级日志")
"""
打印结果:
#同等级路径下会创建log.txt文件
info等级日志
error等级日志
warning等级日志
"""

三.日志输出格式

可以通过logging.Formatter指定日志的输出格式,这个参数可以输出很多有用的信息,如下:

  • %(name)s:收集器名称
  • %(levelno)s:打印日志级别的数值
  • %(levelname)s:打印日志级别的名称
  • %(pathname)s:打印当前执行的路径,其实就是sys.argv[0]
  • %(filename)s:打印当前执行的程序名
  • %(funcName)s:打印日志的当前函数
  • %(lineno)d:打印日志的当前行号
  • %(asctime)s:打印日志的时间
  • %(thread)d:打印线程ID
  • %(threadName)d:打印线程名称
  • %(porcess)d:打印进程ID
  • %(message)s:打印日志信息

工作中给的常用格式如下:

formats = '%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s:%(message)s'

这个格式可以输出日志的打印时间,是哪个模块的哪一行输出的,输出的日志级别是什么,以及输入的日志内容

#定义handler的log信息输出格式
formatter = logging.Formatter('%(asctime)s - %(filename)s - %(lineno)d - %(levelname)s:%(message)s')
#设置handler的log信息格式
fh.setFormatter(formatter)
sh.setFormatter(formatter)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值