Python之logging 模块

一、日志相关概念

日志是一种可以追踪某些软件运行时所发生事件得方法。软件开发人员可以向他们得代码中调用日志记录的相关的方法来表明发生了某些事情。

二、logging模块的日志级别

不同的应用程序所定义的日志级别时会有所差别的,logging 模块默认定于一了以下几个日志级别,它允许开发人员自动定义其他日志级别,但是不被推荐的。

DEBUG :最详细的日志信息,典型的应用场景是问题诊断
INFO :信息详细程度仅次于DEBUG,通常只记录关键节点的信息,用于确认一切都是按照我们预期的那样进行工作
WARNING:当某些不期望的事情发生记录信息(如内存快爆满),但是此时应用程序还是正常工作的
ERROR :由于一个更严重的问题导致某些功能不能正常运行时记录的信息
CRITICAL :当发生严重的错误,导致程序不能继续运行时记录的信息2)日志级别(Level):
debug - info - warning -error - critical(FATA)
调试 基本 警告 报错 严重错误

三、简单的日志输出

from logging import handlers  # 生成滚动日志时需要用 handlers.RotatingFileHandler,所以在这里需要导入 handlers 模块

import logging

#第一步:首先创建一个日志收集器
logger = logging.getLogger("rizhi_shoujiqi.log")

#第二步:设置自定义要收集的日志级别、日志格式、输出渠道
#1、设置 自定义要收集的日志级别
logger.setLevel(logging.INFO)  # logging.INFO:表示手机INFO级别以上的日志

#2、设置自定义的日志格式(Formatter)

# 时间:年月时分秒 +  收集器的名字  +  级别 +  哪个文件的日志 +  行号 + 想要提示的信息
fmt_str = "%(asctime)s %(name)s %(levelname)s %(filename)s %(lineno)d %(message)s"

#实例化一个日志格式类
formatter = logging.StreamHandler()
#3、设置日志输出渠道
handler1 = logging.StreamHandler() # 表示日志可以输出到控制台

#第三步:设置日志输出渠道当中的日志显示格式
handlerl.setFormatter(formatter)

#第四步:将日志输出渠道与日志收集器绑定起来
logger.addHandler(handler1)

logger.info("hello,logging!!!")

上面我们只是演示了将日志输出到控制台的一种方式,但是如果我们想要用一个文件夹单独收集日志可不可以呢?那当然是可以的,代码以下:

#拓展:第二个渠道)实例化文件渠道(FileHandle)
#FileHandler :表示每一次生成的日志都是最新的
#handle2 = logging.FileHandler("rizhi_shoujiqi.log", encoding="utf-8")

#如果我们想到显示每一次的日志记录,那么可以采用滚动生成日志的方式
#滚动生成的区别:FileHandler 用 RotatingFileHandler  来替换,增加 maxBytes=1,backupCount=10 字段
handle2 = handlers.RotatingFileHandler("nmb-py37",maxBytes=1,backupCount=10,encoding="utf-8")

# 设置渠道当中的日志显示格式
handle2.setFormatter(formatter)
# 将渠道与日志收集器绑定起来
logger.addHandler(handle2)


# (指定handle3的日志级别为ERROR)文件渠道(FileHandle)
handle3 = logging.FileHandler("rizhi_shoujiqi_error.log", encoding="utf-8")
# 设置渠道当中的日志显示格式
handle3.setFormatter(formatter)
# 设置handle3的日志输出级别为ERROR
handle3.setLevel(logging.ERROR)

# 将渠道与日志收集器绑定起来
logger.addHandler(handle3)

logger.info("hello,logging!!")
logger.warning("hello,warning!!")
logger.error("你错了!!")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

乘风破浪的小落夜

您的鼓励是我创作的最大动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值