♥ 前 言
软件开发中通过日志记录程序的运行情况是一个开发的好习惯,对于错误排查和系统运维都有很大帮助。
Python 标准库自带了强大的 logging 日志模块,在各种 python 模块中得到广泛应用。
一、简单使用
1. 入门小案例
import logging
logging.basicConfig(level=logging.DEBUG, #设置级别,根据等级显示
format='%(asctime)s-[%(filename)s-->line:%(lineno)d]-%(levelname)s:% (message)s') # 设置输出格式
logging.debug('This is a debug log')
logging.info('This is a info log')
logging.warning('This is a warning log')
logging.error('This is a error log')
logging.critical('This is a critical log')
2. 日志级别
根据不同情况设置了五种日志等级,不同情况输出不同等级的日志。
日志等级 (level) |
描述 |
DEBUG |
调试信息,通常在诊断问题的时候用得着 |
INFO |
普通信息,确认程序按照预期运行 |
WARNING |
警告信息,表示发生意想不到的事情,或者指示接下来可能会出现一些问题,但是程序还是继续运行 |
ERROR |
错误信息,程序运行中出现了一些问题,程序某些功能不能执行 |
CRITICAL |
危险信息,一个严重的错误,导致程序无法继续运行 |
日志器设置的级别会过滤掉低于这个级别的日志
import logging
logging.basicConfig(level=logging.WARNING, #设置级别,根据等级显示
format='%(asctime)s-[%(filename)s-->line:%(lineno)d]-%(levelname)s:% (message)s') # 设置输出格式
logging.debug('This is a debug log')
logging.info('This is a info log')
logging.warning('This is a warning log')
logging.error('This is a error log')
logging.critical('This is a critical log')
3. 配置
basicConfig 方法支持一下关键字参数进行配置。
参数 |
描述 |
filename |
使用指定的文件名而不是 StreamHandler 创建 FileHandler。 |
filemode |
如果指定了 filenam |