Python实用教程系列——Logging日志模块

 

Python实用教程系列——Logging日志模块

 

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

很多的小伙伴在平时写代码的时候,基本上使用的都是使用print()函数来进行一些日志的打印,使用print()来进行一些代码的调试,在较小的程序中这样做是可以的。但是在实际的工程项目中,我们需要保存程序运行的日志,以排查程序在某一个时候崩溃的具体原因,以便及时定位Bug进行抢救,而在Python中,logging就可以十分灵活的帮助我们记录程序运行的过程的中的一些信息。

那么日志的作用是什么呢?

归纳起来日志的作用有三点:

  • 进行程序(代码)的调试
  • 程序运行过程中的问题定位和分析
  • 收集程序运行的情况

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

一、日志等级

Logging中的日志等级如下:

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

import logging
import 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=http://logging.INFO)

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

level=logging.ERROR.

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

二、Logging.basicConfig()

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

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

我们来看看怎么使用:

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,一般用来打印一些错误信息')
    logging.critical('critical,用来打印一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值