You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为App Engine Flask的Cloud Logging请求日志添加自定义Header信息

在App Engine Flask应用中扩展请求日志添加自定义Header信息

要将客户端传递的app-versionHeader添加到App Engine自动生成的请求日志条目中,无需新增日志行,可通过以下步骤实现:

实现方案

利用App Engine内置的logserviceAPI,在请求处理过程中为当前请求日志添加自定义属性,该属性会直接嵌入到Cloud Logging中的现有请求日志条目里。

具体代码实现

from flask import Flask, request
from google.appengine.api import logservice

app = Flask(__name__)

@app.before_request
def inject_app_version_to_log():
    # 从请求头获取app-version,无值时默认设为'unknown'
    app_version = request.headers.get('app-version', 'unknown')
    # 将自定义属性添加到当前请求日志
    logservice.request_logs.set_extra_property('app-version', app_version)

# 示例路由
@app.route('/')
def index():
    return 'OK'

if __name__ == '__main__':
    app.run()

关键说明

  • before_request钩子会在每个请求处理前触发,确保所有请求的日志都能带上自定义属性。
  • logservice.request_logs.set_extra_property是App Engine标准环境的内置方法,用于为当前请求的日志添加自定义键值对,这些数据会直接出现在Cloud Logging请求日志的jsonPayload.extra字段下。
  • 若客户端未传递app-versionHeader,代码会使用默认值unknown,避免日志缺失该字段。

验证方式

发送带有app-version: 1.1.2Header的请求后,登录Cloud Logging控制台,找到对应的请求日志条目,即可在日志详情中看到app-version字段及其值。

内容的提问来源于stack exchange,提问作者alexlipa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 10:17:30