Web自动化之logging日志库的使用

一、日志作用

  • 程序调试
  • 了解程序运行是否正常
  • 故障分析与问题定位
  • 用户行为分析

二、日志的等级

DEBUG:最详细的日志信息,典型应用场景是问题诊断。
INFO:信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作。
WARNING:当某些不期望的事情发生时记录的信息,(如:磁盘可用空间较低),但是此时应用程序还是正常运行的
ERROR:由于一个严重的问题导致某些功能不能正常运行时记录的信息。
CRITICAL:当发生严重错误,导致应用程序不能继续运行时记录的信息。

三、logging模块常用的函数

在这里插入图片描述

四、logging的使用

  • 方式一:使用logging提供的模块级别的函数
  • 方式二:使用Logging日志系统的四大组件

示例:使用logging自带的函数

import logging
logging.basicConfig(level=logging.INFO)
logging.info("test_info")
logging.debug("test_debug")
logging.warning("test_waring")
logging.error("test_error")

五、logging模块的四大组件

  • loggers【日志器】:提供应用程序直接使用的接口
  • handles【 处理器】:将logger创建的日志记录发送到合适的目的输出(控制台输出or 磁盘文件输出,邮件)
  • filters【过滤器】:提供更细粒度的日志过滤功能,用于决定哪些日志记录将会被输出(其他的日志记录将会被忽略)
  • formatters【格式器】:用于控制日志信息的最终输出格式

日志格式的输出:实际项目中我们会记录当前日志的时间,模块名称、模块中哪一个类的哪一行出错了等。

Handler类的说明:Handler对象的作用是(基于日志信息的level)将消息发送到handler指定的位置(文件、网络、邮件)
在这里插入图片描述
在这里插入图片描述

Logger类的下相关方法:在这里插入图片描述 logging.basicConfig()函数说明:在这里插入图片描述
logging模块的格式字符串:
在这里插入图片描述
示例:basicConfig的使用:

my_format = '%(asctime)s-%(filename)s-%(module)s-%(lineno)d '
logging.basicConfig(
    filename='my.log',
    level=logging.INFO,
    format=my_format
)

logging.info("info")
logging.debug("debug")

示例:使用logging的四大模块编写日志工具类

def my_log(name):
    # 第一步:创建日志收集器
    test_log = logging.getLogger(name=name)

    # 第二步:创建日志收集渠道
    pycharm = logging.StreamHandler()  # 【控制台渠道】
    file_log = handlers.TimedRotatingFileHandler(filename=log_dir, when="D", encoding="utf-8")

    # 第三步:创建日志格式
    fmt = '【%(asctime)s-%(name)s-%(levelname)s-%(pathname)s-%(lineno)d】: %(message)s'
    log_format = logging.Formatter(fmt=fmt)

    # 设置日志输出格式【渠道】
    pycharm.setFormatter(fmt=log_format)
    file_log.setFormatter(fmt=log_format)

    # 设置日志级别【收集器】
    test_log.setLevel(logging.INFO)
    # test_log.setLevel(logging.WARNING)

    # 收集器绑定渠道
    test_log.addHandler(pycharm)
    test_log.addHandler(file_log)
    return test_log
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值