赞
踩
一、日志介绍
1、日志级别:日志的优先级、重要性或者严重程度
2、日志的作用:调试程序,跟踪定位bug,分析用户行为与数据统计
3、常见的日志级别(从小级别到大级别排序):
debug:调试级别,打印非常详细的日志信息,通常用于代码调试
info:信息级别,打印一般的日志信息,突出强调程序的运行过程
warming:警告级别,打印警告信息,表明可能出现潜在的错误
error:错误级别,打印错误异常信息,该级别的错误可能导致程序无法运行
critical:严重错误级别,这表明系统可能无法继续运行
4、当指定日志级别后,程序会记录所有日志级别大于或者等于指定级别的东西
5、日志的格式:
%(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 打印日志的信息
二、logging用法
基本用法:
- # 导库,一个标准的第三方库用于日志的打印
- import logging
- # 基本用法
- logging.debug('这是一条调试信息')
- logging.info('这是日志信息')
- logging.warning('打印警告')
- logging.error('这是一条错误信息')
- logging.critical('这是一条严重错误信息')
输出信息如下:
- WARNING:root:打印警告
- ERROR:root:这是一条错误信息
- CRITICAL:root:这是一条严重错误信息
上述代码中我们打印了五种日志,但是输出结果只有三种,这是因为指定日志级别后,程序会记录大于或者等于指定级别的日志,下面我们来指定打印debug级别的日志:
- # 导包
- import logging
-
- # 设置日志级别 打印日志
- logging.basicConfig(level=logging.DEBUG)
- # 基本用法
- logging.debug('这是一条调试信息')
- logging.info('这是日志信息')
- logging.warning('打印警告')
- logging.error('这是一条错误信息')
- logging.critical('这是一条严重错误信息')
输出结果如下:
- DEBUG:root:这是一条调试信息
- INFO:root:这是日志信息
- WARNING:root:打印警告
- ERROR:root:这是一条错误信息
- CRITICAL:root:这是一条严重错误信息
我们还可以指定日志的格式,演示输出时的日志格式化:
- import logging
- fm = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s] [%(funcName)s:%(lineno)d]"
- # 设置日志级别 打印日志
- logging.basicConfig(level=logging.DEBUG,format=fm)
- # 基本用法
- logging.debug('这是一条调试信息')
- logging.info('这是日志信息')
- logging.warning('打印警告')
- logging.error('这是一条错误信息')
- logging.critical('这是一条严重错误信息')
输出信息如下:
- 2023-07-17 22:48:59,062 DEBUG [root] [logger.py] [<module>:36]
- 2023-07-17 22:48:59,063 INFO [root] [logger.py] [<module>:37]
- 2023-07-17 22:48:59,063 WARNING [root] [logger.py] [<module>:38]
- 2023-07-17 22:48:59,063 ERROR [root] [logger.py] [<module>:39]
- 2023-07-17 22:48:59,063 CRITICAL [root] [logger.py] [<module>:40]
我们还可以输出日志到指定的文件:
- # 导库,一个标准的第三方库用于日志的打印
- import logging
-
-
- fm = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s] [%(funcName)s:%(lineno)d]"
- # 设置日志级别 打印日志 设置日志打印的文件路径
- logging.basicConfig(level=logging.DEBUG,format=fm,filename="testlog//log01.log")
- # 基本用法
- logging.debug('这是一条调试信息')
- logging.info('这是日志信息')
- logging.warning('打印警告')
- logging.error('这是一条错误信息')
- logging.critical('这是一条严重错误信息')
指定了日志打印的文件后点击运行,打开testlog文件夹下的log01文件,能发现已经打印了:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。