当前位置: 首页 > news >正文

广州 网站制作网络推广目标怎么写

广州 网站制作,网络推广目标怎么写,高端网站搭建,蒙icp备 网站建设FastAPI Vue3 自动化测试平台(2)-- 日志中间件 前言 在开发和运行自动化测试平台时,日志功能是至关重要的一部分。日志不仅能帮助我们快速定位和解决问题,还能作为平台运行的记录依据,为后续分析和优化提供参考。 …

FastAPI + Vue3 自动化测试平台(2)-- 日志中间件

前言

在开发和运行自动化测试平台时,日志功能是至关重要的一部分。日志不仅能帮助我们快速定位和解决问题,还能作为平台运行的记录依据,为后续分析和优化提供参考。

在本篇文章中,我们将介绍如何为 FastAPI 构建一个日志中间件,记录请求日志、错误日志和系统运行日志等关键信息,从而提升系统的可维护性和可观测性。


为什么需要日志中间件?

在一个完整的测试平台中,日志系统主要承担以下功能:

  1. 记录 API 请求日志:包括请求的时间、URL、方法、参数、响应时间等信息,便于排查问题。
  2. 捕获错误日志:记录后端的异常和错误,为开发者提供调试依据。
  3. 记录系统运行日志:包括任务执行、关键操作、资源使用情况等,为系统优化提供数据支持。
  4. 结构化日志输出:输出 JSON 格式的日志,便于后续存储和分析。

日志中间件的实现

1. 安装依赖

我们将使用 Python 的 loguru 库来实现日志功能。它简单易用,功能强大。

安装 loguru

pip install loguru

2.编写日志中间件代码

"""日志中间件."""
import json
import os
import sys
from datetime import datetime, timedelta, timezone
from fastapi import Response
from loguru import logger
from starlette.middleware.base import BaseHTTPMiddleware
from starlette.requests import Requestclass Logger_Middleware(BaseHTTPMiddleware):"""日志类."""async def dispatch(self, request: Request, call_next) -> Response:"""重写dispatch方法.Args:request (Request): Request.call_next (_type_): 回调函数.Returns:Response: Response."""self.logger = loggermethod = request.method# body = await request.body()  # 请求体,预留坑位path = request.scope["path"]http_type = request.scope["type"]china_tz = timezone(timedelta(hours=8), "China")current_time_china = datetime.now(china_tz)formatted_time = current_time_china.strftime("%Y-%m-%d")response = await call_next(request)self.logger.remove()code = response.status_codeINFO = f"{code}__{method}__{path}"# 判断请求的响应结果,然后写入log文件if code != 200:log_path = os.path.join("./log/error", f"{formatted_time}_error.log")self.logger.add(log_path,encoding='utf-8',rotation="7 days",enqueue=True)self.logger.error(INFO)else:log_path = os.path.join("./log/info", f"{formatted_time}_info.log")self.logger.add(log_path,encoding='utf-8',rotation="7 days",enqueue=True)self.logger.info(INFO)return response

3.注册到fastapi的服务中

from fastapi import FastAPI
from middlewares.logging_middleware import LoggingMiddleware# 初始化 FastAPI 应用
app = FastAPI()# 添加日志中间件
app.middleware("http")(LoggingMiddleware())

4.日志输出示例

2024-10-30 10:21:52.452 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:23:43.225 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:26:30.461 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:30:21.039 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:47:38.788 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:47:51.864 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:48:51.512 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:49:47.051 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:49:50.098 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:53:17.336 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:53:36.034 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
2024-10-30 10:54:30.589 | INFO     | middleware.log_middleware:dispatch:54 - 200__POST__/user/login
http://www.yayakq.cn/news/318065/

相关文章:

  • ae模板免费网站wordpress网店模板制作
  • 做网站如何与网络公司沟通搭建展厅设计展览设计
  • ps如何做网站首页创可贴在线设计平台
  • 山东建设兵团网站淘宝客推广平台
  • 什么网站能接工地做链家网站开发
  • 火速网站建设陕西网站seo
  • 申请域名后怎样做网站建设银行网站无法转账
  • 制作网站 公司简介新闻头条今天最新消息
  • hefei 网站制作做自己的网站要花多少钱
  • 做景观设施的网站微营销的软件有哪些
  • dede网站百度统计怎么做广东专业企业网站建设
  • 教育类网站建设方案郑州网站制作哪家招聘
  • 制作游戏的网站海南网页制作
  • 网页游戏网站那个好成都市网站设计开发
  • 有了域名空间服务器怎么做网站机械外贸有哪些平台
  • 网站更换域名多少钱wordpress兼容手机吗
  • 珠海模板建站定制网站安卓优化大师旧版本下载
  • 网站开发工资一般多少建筑公司网站内容
  • 网页设计尺寸早起可视区域深圳关键词优化平台
  • 网站空间 jspwordpress编辑器主题
  • 网站底部优化字广东省企业信用信息网
  • 先做网站 先备案北京专业制作网站
  • 做ppt用什么网站好网络上如何推广网站
  • 购物网站建设模板图片企业大型网站开发建站教程详解
  • 连云港市建设局网站安全员考试WordPress搜索不通过数据库
  • 网站制作公司 佛山4a级旅游网站建设的要求
  • o2o手机网站源码网页设计站
  • 国外做网站seo需要付费吗
  • 怎么寻找网站关键词并优化网页设计的发展前景
  • 全球设计网站有哪些网站开发使用软件有哪些