python flask日志处理程序在google云平台上对消息进行分组
flask-gcp-log-groups的Python项目详细描述
烧瓶扩展,允许请求处理程序中发出的日志行一起显示/呈现。
通常,当使用google云日志库(google-cloud-logging和CloudLoggingHander)时,发出的每个日志条目都在日志ui中单独显示。但是,它希望将逻辑上属于http请求中的所有日志组合在一起。对于flask中的给定http请求,此扩展将在父请求下面“一起”显示所有日志。
如
配置参数
- GCPHandler
- app:烧瓶处理程序
- parentLogName:请求(默认:请求)的parentlogger名称
- childLogName:应用程序日志的子日志记录器名称(默认值:“application”)
- traceHeaderName:要分析为跟踪头的头名称。(在gcp上,其X-Cloud-Trace-Context)
- labels:标记要应用于所有日志的字典(默认值=无),
- resource:要登录的云日志资源(默认为“全局”)
fromflaskimportFlaskimportlogging,jsonfromflask_gcp_log_groupsimportGCPHandlerapp=Flask(__name__)g=GCPHandler(app,parentLogName="request",childLogName="application",traceHeaderName='X-Cloud-Trace-Context',labels={'foo':'bar','baz':'qux'},resource={"type":"gce_instance","labels":{"instance_id":"5160310737730769780","zone":"us-central1-a"}})g.setLevel(logging.INFO)app.logger.addHandler(g)@app.route('/')defdefault():app.logger.setLevel(logging.INFO)app.logger.info("I met a traveller from an antique land,")return'ok'if__name__=='__main__':app.run(host='0.0.0.0',port=8080,debug=False)
仅带跟踪
curl -v -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" \ -H "X-Cloud-Trace-Context: `python -c "import uuid; print uuid.uuid4()"`" \ http://localhost:8080/