python filter过滤器的使用_Python实用教程系列——Logging日志模块

76ef7e07a0a6a108ad14d10b89f2d2d9.png

点击上方蓝色文字关注我们吧

61fe3452a869cf4d0f7ba62daefdf162.png

有你想要的精彩

作为Python的实用教程系列,上篇推文《Python实用教程系列——异常处理》,我们讲述了Python中的相关异常的知识,包括异常的种类以及异常的处理方式,以及使用实例的方式说明了一些常用异常的处理。这次,我们来讲述一下Python中的另一个实用的教程,日志相关的知识。

550cf89ce87001b9cf19b3e6497108d0.png

作者 | 那个百分十先生 出品 | Python知识学堂 很多的小伙伴在平时写代码的时候,基本上使用的都是使用print()函数来进行一些日志的打印,使用print()来进行一些代码的调试,在较小的程序中这样做是可以的。但是在实际的工程项目中,我们需要保存程序运行的日志,以排查程序在某一个时候崩溃的具体原因,以便及时定位Bug进行抢救,而在Python中,logging就可以十分灵活的帮助我们记录程序运行的过程的中的一些信息。 那么日志的作用是什么呢? 归纳起来日志的作用有三点:
  • 进行程序(代码)的调试

  • 程序运行过程中的问题定位和分析

  • 收集程序运行的情况

接下来我们就来介绍Python中的标准库 Logging 的相关知识:

日志等级

Logging中的日志等级如下:

43d44cfbef158dee5ce17ed6f0979d35.png

使用Python的小伙伴对WARNING和ERROR特别的熟悉,在一些模块版本过低的时候运行程序就会出现WARNING的警告。我们来看一些代码:

import loggingimport logging# 设置打印日志的级别,level级别以上的日志会打印出
# level=logging.DEBUG 、INFO 、WARNING、ERROR、CRITICAL

def log_testing():# 此处进行Logging.basicConfig() 设置,后面设置无效
    logging.basicConfig(level=logging.ERROR)
    logging.debug('debug,用来打印一些调试信息,级别最低')
    logging.info('info,用来打印一些正常的操作信息')
    logging.warning('waring,用来用来打印警告信息')
    logging.error('error,一般用来打印一些错误信息')
    logging.critical('critical,用来打印一些致命的错误信息,等级最高')
log_testing()

当然了,上述的一些信息是输出到控制台的,下文我们将介绍日志输出到文件的方法。细心的小伙伴会发现

logging.basicConfig(level=logging.INFO)

这段代码主要是用来配置日志的输出的,代码会将level以上级别日志输出,比如设置

level=logging.ERROR.

稍微总结一下就是:程序在运行的过程中会记录下大于或等于这个日志级别的日志信息,如果不设置level的值则打印大于等于 WARNING 级别的日志。

Logging.basicConfig()

logging.basicConfig() 的参数除了日志等级的这个参数可以设置以外,还可以设置其他的参数,比如:

28b406120295959c0ffac4fea01b2941.png

上表提到日志的输出格式参数format,其控制着日志输出的一些格式:

0c0d4c7e88216320a12470ac8f25f75b.png

我们来看看怎么使用:

import logging# 设置打印日志的级别,level级别以上的日志会打印出
# level=logging.DEBUG 、INFO 、WARNING、ERROR、CRITICAL

def log_testing():# 此处进行Logging.basicConfig() 设置,后面设置无效
    logging.basicConfig(filename='log.txt',
                     format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s-%(funcName)s',
                     level=logging.ERROR)
    logging.debug('debug,用来打印一些调试信息,级别最低')
    logging.info('info,用来打印一些正常的操作信息')
    logging.warning('waring,用来用来打印警告信息')
    logging.error('error,一般用来打印一些错误信息&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值