logging日志工具类笔记

4 阅读1分钟

1,logging日志工具类使用

import logging
import os
# os.path.abspath(__file__)获取当前执行脚本的绝对路径
# os.path.dirname()获取当前文件,文件夹的路径
base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# os.path.join拼接两字符串,只拼接
log_path=os.path.join(base_dir,'logs')
# 不存在就新建
if not os.path.exists(log_path):
    os.makedirs(log_path)

log_file=os.path.join(log_path,'api_test.log')

# 日志配置
# 日志级别
# DEBUG:调试信息(最详细)
# INFO:普通信息
# WARNING:警告
# ERROR:错误
# CRITICAL:严重错误
logging.basicConfig(
    level=logging.DEBUG,  # 设为DEBUG,所有级别都能输出
    # 格式化
    format="%(asctime)s | %(levelname)-8s | %(filename)s:%(lineno)d | %(message)s",
    handlers=[
        logging.FileHandler(log_file, encoding="utf-8"), #输出到文件
        logging.StreamHandler() #输出到控制台
    ]
)

# 获取当前模块的日志器,__name__ 是 Python 自带变量,值 = 当前 .py 文件的模块名
logger = logging.getLogger(__name__)

# ===== 4个标准级别(完整)=====
def log_debug(msg):
    """调试日志(开发用)调试参数、变量、临时打印"""
    logger.debug(msg)

def log_info(msg):
    """信息日志(流程记录)开始请求、请求成功、用例通过"""
    logger.info(msg)

def log_warning(msg):
    """警告日志(不影响运行)数据不存在、参数为空、接口响应慢"""
    logger.warning(msg)

def log_error(msg):
    """错误日志(失败/异常)请求失败、断言失败、接口报错"""
    logger.error(msg)

2,各模块导入进行调用…………………………………………………………………………………………

from auto_test.utils.log_utils import log_info,log_debug,log_warning,log_error
log_error("这有一个错误")
log_warning("这有一个警告")
log_info("信息显示")
log_debug("详细信息")