python logging 是一个标准库,不需要pip 安装。
import logging
encoding = 'utf-8'
# 1.初始化一个日志收集器,logging.getLogger('收集器名称')
logger = logging.getLogger('test')
# 2.设置收集器的记录级别,若不写,默认warning级别,低于warning级别的不记录
# setLevel(参数),可选参数有'CRITICAL''ERROR''WARNING''INFO''DEBUG''NOTSET'
logger.setLevel('DEBUG')
# 3.设置处理器,将日志打印到一个文件中,若不设置,默认打印到console中
# console_output = logging.StreamHandler()
handler = logging.FileHandler(r'D:demo.txt')
# 4.设置处理器要记录的日志级别,处理器级别和收集器级别不一致时,以两者级别高的级别为记录标准
handler.setLevel('WARNING')
# 5.设置处理器记录的格式
fmt = logging.Formatter('%(asctime)s:%(filename)s:%(lineno)s:%(levelname)s')
handler.setFormatter(fmt)
# 6.添加处理器至日志收集器
logger.addHandler(handler)
# 使用,通过不同级别提示不同的信息
logger.info('this is a info message')
logger.warning('this is a warning message')
处理器记录格式常用参数:
| 参数 | 说明 |
|---|---|
| %(asctime)s | 创建日志记录时的人类可读时间。默认格式为“2003-07-08 16:49:45896”(逗号后毫秒部分)。 |
| %(filename)s | logger代码的文件名 |
| %(levelname)s | 日志记录级别(‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’)。 |
| %(lineno)d | 日志记录对应的代码行 |
| %(message)s | 不同级别里输出的提示信息,比如上面代码中info级别的this is a info message |
| %(name)s | 日志收集器的名称 |



