1. 基础语法
1.1 日志模块
import logging
#设置输出的基本格式
logging.basicConfig(level= logging.DEBUG , format = ' %(asctime)s - %(levelname)s - %(message)s')
logging.debug('End ')
将level关键字参数设为ERROR时,只会显示本级别以及本级别以上的日志消息
logging.basicConfig函数各参数:
filename:指定日志文件名;
filemode:和file函数意义相同,指定日志文件的打开模式,'w'或者'a';
format:指定输出的格式和内容
format参数中:
%(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:打印日志信息
1.2 日志级别
级别 | 日志函数 | 描述 |
DEBUG | logging.debug() | 最低级别,诊断问题时才用到 |
INFO | logging.info() | 用于记录一般事件的信息,确认正常工作 |
WARNING | logging.warning() | 表示可能存在的问题 |
ERROR | logging.error() | 记录错误 |
CRITICAL | logging.critical() | 最高级别,表示致命的错误 |
1.3 禁用日志
向logging.disable()传入一个日志级别,将会禁止该级别和更低级别的所有日志消息
1.4 将日志记录到文件
logging.basicConfig函数传入filename关键字参数
logging.basicConfig(filename='log.txt',level= logging.DEBUG , format = ' %(pathname)s - %(filename)s - %(asctime)s - %(levelname)s - %(message)s')