python 配置log

该博客介绍了如何在Python Flask应用中实现API请求的全局拦截,通过before_request装饰器捕获并处理每个非根路径的请求。拦截器获取了浏览器版本、操作系统版本、请求参数和请求体等信息,并将这些信息整合成日志消息,使用自定义的日志处理器写入到带有日期的滚动日志文件中,便于跟踪和分析API的使用情况。
摘要由CSDN通过智能技术生成

在项目根目录 api 前进行拦截:

@app.before_request
def requestInterceptor():
    if request.path !='/':
        #get the request body value
        str_header = request.headers.environ
        browser_version = str_header['HTTP_SEC_CH_UA'].replace(" ","_")
        osversion = str_header['HTTP_USER_AGENT'].replace(" ","_")
        strbodyvalue = str(request.values.to_dict())
        #get the request params value
        str_params =json.dumps(request.args)
        strmessage = " browserVersion="+browser_version+" osversion="+osversion+" path="+str(request.url_rule)+" bodyValue=" + strbodyvalue +" paramsValue=" +str_params
        logger.info(strmessage)

配置log :logger.py

import logging
from logging.handlers import RotatingFileHandler
import uuid
import time

def info(message):
    """
    """
    # config the level of log
    logging.basicConfig(level=logging.INFO)
    # create the name of log file and handler for log
    log_file_name = 'logger-' + time.strftime('%Y-%m-%d', time.localtime(time.time())) + '.log'
    file_log_handler = RotatingFileHandler(log_file_name, maxBytes=1024*1024*100,backupCount=100)
    # The log information and formatter of log
    formatterStr = " service_name=mid_dashboard "+" traceId=" + str(trace_id())
    formatter = logging.Formatter("%(asctime)s" + formatterStr + message + " response="+"%(message)s")
    # set formatter for handler
    file_log_handler.setFormatter(formatter)
    # add handler for logging
    logging.getLogger().addHandler(file_log_handler)


# create random uuid as trace id
def trace_id():
    return uuid.uuid1()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值