一、日志输出步骤:
1、初始化收集器
2、定义收集器的日志等级
3、初始化处理器
4、定义处理器的日志等级
5、将处理器加到收集器里
6、调用
二、编写logging封装函数
import logging
"""
封装打印log的函数
"""
def record_logging(logger_name=None,logger_level="DEBUG",stream_level="DEBUG",file_level="INFO",filepath=None):
# 初始化收集器
logger = logging.getLogger(logger_name)
logger.setLevel(logger_level)
# 初始化处理器,输出日志到控制台
stream_handle = logging.StreamHandler()
stream_handle.setLevel(stream_level)
# 将处理器添加到收集器里
logger.addHandler(stream_handle)
# 设置输出日志格式,包括时间,报错的文件名,行号,错误等级及错误信息
fm = logging.Formatter("%(asctime)s---%(filename)s---%(lineno)d---%(levelname)s---%(message)s")
stream_handle.setFormatter(fm)
# 如果文件路径不为空,就输出日志到文本文件
if filepath:
# 初始化处理器,输出日志到文本文件
file_handle = logging.FileHandler(filepath, encoding="UTF-8")
file_handle.setLevel(file_level)
file_handle.setFormatter(fm)
logger.addHandler(file_handle)
return logger
if __name__ == '__main__':
#logger = record_logging() #不传参按照默认的执行
logger=record_logging(stream_level="ERROR",file_level="CRITICAL",filepath="log.txt")
logger.debug("debug信息")
logger.info("info信息")
logger.warning("warning信息")
logger.error("error信息")
logger.critical("critical信息")
三、日志格式参考文档如下:
https://docs.python.org/zh-cn/3/library/logging.html