首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python常识系列08->logging模块基础入门

前言

努力从今天开始,成功从“零”开始。

一、logging模块是什么?

是Python内置的标准模块,主要用于输出运行日志

二、日志是什么?

日志是代码的必要组成部分

记录日志能显示程序当前运行状态

出问题后定位当时问题

对日志记录的数据挖掘进行统计和分析(比如 **地区登录APP人数较多等)

三、python日志级别

DEBUG:调试信息

INFO:有用的信息

WARNING:警告信息 (默认日志级别)

ERROR:错误信息

CRITICAL:严重错误信息

NOTSET:非级别,表示不设置,按照父logger级别来过滤日志

日志级别关系:

备注:如果把log的级别设置为INFO, 那么小于INFO级别的日志都不输出, 大于等于INFO级别的日志都输出。也就是说,日志级别越高,打印的日志越不详细。

四、logging模块实战

4.1 logging模块基础代码

import logging

logging.debug('-----调试信息[debug]-----')

logging.info('-----有用的信息[info]-----')

logging.warning('-----警告信息[warning]-----')

logging.error('-----错误信息[error]-----')

logging.critical('-----严重错误信息[critical]-----')

由于没有设置日志级别,默认WARNING级别,上述代码输出如下:

WARNING:root:-----警告信息[warning]-----

ERROR:root:-----错误信息[error]-----

CRITICAL:root:-----严重错误信息[critical]-----

Process finished with exit code 0

4.2 自定义日志级别

import logging

logging.basicConfig(level=logging.DEBUG) #设置日志级别为DEBUG,注意要大写

logging.debug('-----调试信息[debug]-----')

logging.info('-----有用的信息[info]-----')

logging.warning('-----警告信息[warning]-----')

logging.error('-----错误信息[error]-----')

logging.critical('-----严重错误信息[critical]-----')

4.3 自定义日志显示格式

import logging

logging.basicConfig(level=logging.DEBUG,

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

logging.debug('-----调试信息[debug]-----')

logging.info('-----有用的信息[info]-----')

logging.warning('-----警告信息[warning]-----')

logging.error('-----错误信息[error]-----')

logging.critical('-----严重错误信息[critical]-----')

其中format是控制日志格式用的,具体格式包含:(ps:读者可以换到上面代码部分试试)

%(levelno)s: 打印日志级别的数值

%(levelname)s: 打印日志级别名称

%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]

%(filename)s: 打印当前执行程序名

%(funcName)s: 打印日志的当前函数

%(lineno)d: 打印日志的当前行号

%(asctime)s: 打印日志的时间

%(thread)d: 打印线程ID

%(threadName)s: 打印线程名称

%(process)d: 打印进程ID

%(message)s: 打印日志信息

4.4 自定义日志输出到文件

import logging

logging.basicConfig(level=logging.DEBUG,

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

logging.debug('-----调试信息[debug]-----')

logging.info('-----有用的信息[info]-----')

logging.warning('-----警告信息[warning]-----')

logging.error('-----错误信息[error]-----')

logging.critical('-----严重错误信息[critical]-----')

其中上述代码中 filename 参数为日志文件配置

小结

如果没有接触过日志的朋友使用本篇入门非常不错

本篇中使用了 basicConfig() 这种方式去配置日志,其实还有多种方式配置(如配置文件配置、自定义logger对象配置等)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230413A05WV900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券