前言
使用python第三方库 ‘logging’完成写入日志
使用包 'os’保存日志文件
导入
import logging
import os
操作步骤
if not os.path.exists(LOG_DIR):
os.mkdir(LOG_DIR)
# 判断本地是否有文件夹ts没有的话脚本会新建有的话会将数据放入
`注意你需要在当前脚本的根目录下新建文件夹logs`
logger = logging.getLogger()
# 用来获取一个 logger 对象的,可以通过这个对象来记录你的应用程序的日志消息
os.join # 用来保存的方法
"ts-%s.log" % time.strftime("%Y-%m-%d"))
# 获取当前日期插入到 'ts-%s.log' 字符串的 %s 位置
# 生成形如 "ts-2023-09-13.log" 的文件名
encoding='UTF-8' # 编码格式
logger.setLevel(logging.INFO)
# 所有级别为 INFO 的日志消息
# 以及更高级别(WARNING、ERROR、CRITICAL)的消息都会被处理。
# 级别低于 INFO 的消息(如 DEBUG)则会被忽略,不会被处理。
%(asctime)s # 它会被替换为日志事件发生的时间
# asctime 是日志事件的时间戳例如 "2023-09-15 12:34:56,789"
%(levelname)s # 它会被替换为日志事件的级别名称
# 如果日志级别是 INFO%(levelname)s 将被替换为字符串 "INFO"
%(message)s
# 它会被替换为实际的日志消息内容
`例如:
级别为 INFO,
内容为 "This is a test message",
并且该消息在 "2023-09-15 12:34:56,789" `
[2023-09-15 12:34:56,789] INFO ts This is a test message
handler.setFormatter(logging_format)
# 确保日志以上面的格式进行输出
logger.addHandler(handler)
# 调用 logger.addHandler(handler) 时,
# 你实际上是在告诉 logger:
# 当你记录日志时,请将日志消息传递给这个 handler 进行处理。
以上代码将日志环境搭配完成
你该如何将测试数据添加到日志中呢?
使用 logger.info() 方法
括号里放入测试的数据
例如:
logger.info(f"{‘=’ * 25}接口名称【登录】{‘=’ * 25}“)
logger.info(f”{data[0]}_{data[4]}“)
logger.info(f"请求url:{url}”)
logger.info(f"请求参数:{params}“)
logger.info(f"请求方式:{method}”)
logger.info(f"前置sql:{sql_list}“)
logger.info(f"预期结果:{expected_result}”)
============================ 我分 ======================
上述代码完成了日志的写入与保存
IDE控制台显示日志信息
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
stream_handler.setFormatter(logging_format)
if not logger.handlers:
logger.addHandler(handler)
logger.addHandler(stream_handler)
# 条件判断 logger.handlers 里面是否有值
# 如果为空 那么向里面添加值
# 如果不为空 不向里面添加任何值
`避免日志出现两个同样的数据!!!`
实现结果
完成!!!
我对生成到IDE控制台的代码也不是很理解 只知道这么写可以实现预期效果