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

flask日志

您可以使用 Python 自带的 logging 模块来实现 Flask 日志记录功能。以下是一个简单的示例:

import os
import logging
from logging.handlers import TimedRotatingFileHandler
from flask import Flask, requestapp = Flask(__name__)# 创建日志目录
if not os.path.exists('logs'):os.mkdir('logs')# 配置日志记录器
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)# 创建日志文件处理器,每天生成一个新的日志文件
log_handler = TimedRotatingFileHandler('logs/myapp.log',when='D',interval=1,backupCount=7,encoding='utf-8'
)# 配置日志文件处理器
formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')
log_handler.setFormatter(formatter)
logger.addHandler(log_handler)@app.before_request
def log_request_info():# 记录请求前的所有参数logger.info('Request: %s %s %s %s %s %s %s %s',request.remote_addr,request.method,request.scheme,request.full_path,request.headers,request.args,request.form,request.json)@app.after_request
def log_response_info(response):# 记录返会的所有参数logger.info('Response: %s %s %s %s', response.status, response.headers,response.get_data(),response.get_json())return response

上述示例中,我们首先创建了一个名为 myapp.log 的日志文件,并将日志级别设置为 INFO。然后,我们创建了一个 before_request 钩子函数来记录请求前的所有参数,以及一个 after_request 钩子函数来记录返会的所有参数。最后将日志文件处理器添加到日志记录器中即可。

请注意,在日志处理程序中,我们使用了 TimedRotatingFileHandler 类,该类可以按时间轮换日志文件。在上面的示例中,我们将日志文件的生成间隔设置为 1 天,上限为 7 个日志文件。这意味着每天将生成一个新的日志文件,并自动删除最老的日志文件。

http://www.lryc.cn/news/147261.html

相关文章:

  • 新能源汽车动力总成系统及技术
  • 在 WSL2 中使用 NVIDIA Docker 进行全栈开发和深度学习 TensorFlow pytorch GPU 加速
  • 模拟实现应用层协议
  • SAP-MM-冲销凭证布局变更
  • 事务方法中保证数据只插入一次方案探究
  • 高通开发系列 - 5G网络之QTI守护进程服务介绍
  • Ansible学习笔记3
  • DP读书:鲲鹏处理器 架构与编程(十)鲲鹏软件生态与云服务
  • CSS_IOS适配状态栏和IOS底部安全区域
  • 中央仓库更新失败,IDEA报错repository is non-nexus repo, or does not indexed
  • 设计模式--代理模式
  • 链路聚合原理
  • el-table表尾添加合计行,自动合计,且特殊列自定义计算展示
  • uview ui 1.x ActonSheet项太多,设置滚动(亲测有效)
  • STM32 Cubemx 同名外设中断及回调
  • 储能辅助电力系统调峰的容量需求研究(matlab代码)
  • 非计算机科班如何丝滑转码?(本人就是有点不丝滑)
  • tensorrtx部署yolov5 6.0
  • 用html5写一个音乐播放器
  • postgresql类型转换函数
  • Go 自学:Array阵列
  • 大数据平台与数据仓库的五大区别
  • React 钩子汇总
  • Python爬取旅游网站数据机票酒店价格对比分析
  • OA项目之会议通知(查询是否参会反馈详情)
  • 如何维护自己的电脑的措施
  • VS2022 Community 安装步骤
  • vue3中mitt.js使用
  • Redis 内存淘汰策略详解
  • 初识Redis之分布式