logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。
import logging
# 初始化日志对象
logging.basicConfig(
# 日志级别, 不低于这个级别的才可以打印出来
level=logging.INFO,
# 日志信息保存的路径,若设置了此项,那么打印的信息不会
# 输出到控制台,会直接把信息保存在指定路径文件中
# filename = './report.log',
# 打开日志文件的方式
# filemode = 'w',
# 输出格式
format='%(asctime)s %(levelname)s %(message)s')
logging.debug("hello world!")
logging.info("hello world!")
logging.warning("hello world!")
logging.error("hello world!")
logging.critical("hello world!")
# 输出
2021-12-23 18:54:22,663 DEBUG hello world!
2021-12-23 18:54:22,663 INFO hello world!
2021-12-23 18:54:22,664 WARNING hello world!
2021-12-23 18:54:22,664 ERROR hello world!
2021-12-23 18:54:22,665 CRITICAL hello world!
日志一共分为5级,从低到高分别是:DEBUG,INFO ,WARNING ,ERROR,CRITICAL。
对应的5种输出日志的方法分别是:debug,info,warning,error,critical。
- logging.basicConfig()函数参数说明:
level: 设置日志级别
filename: 指定日志文件名
filemode: 指定日志文件的打开模式,'w'或'a'
format: 指定输出的格式和内容,如下:
%(levelno)s: 打印日志级别的数值
%(levelname)s: 打印日志级别名称
%(pathname)s: 打印当前执行程序的路径
%(filename)s: 打印当前执行程序名
%(funcName)s: 打印日志的当前函数
%(lineno)d: 打印日志的当前行号
%(asctime)s: 打印日志的时间
%(thread)d: 打印线程ID
%(threadName)s: 打印线程名称
%(process)d: 打印进程ID
%(message)s: 打印日志信息