簡體   English   中英

stackdriver 記錄客戶端庫缺少 python 的嚴重性

[英]stackdriver logging client library missing severity with python

我想從我的應用引擎標准 python3 應用程序向堆棧驅動程序日志發送更具表現力的日志條目。 通過遵循官方文檔,我能夠將我的日志發送到 stackdriver,並且時間戳似乎被正確解析。

但我錯過了嚴重程度。 此外,我看不到將某個請求的日志鏈接到操作的方法。 java日志記錄似乎是開箱即用的。

供參考,這是我的代碼:

import logging
import os

from flask import Flask
from google.cloud import logging as glog

app = Flask(__name__)
log_client = glog.Client(os.getenv('GOOGLE_CLOUD_PROJECT'))
# Attaches a Google Stackdriver logging handler to the root logger
log_client.setup_logging()


@app.route('/_ah/push-handlers/cloudbuild', methods=['POST'])
def pubsub_push_handle():

    logging.info("stdlib info")
    logging.warning("stdlib warn")
    logging.error("stdlib error")

導致堆棧驅動程序的日志:

登錄堆棧驅動程序

如您所見,時間戳和消息可用,而嚴重性奇怪地缺失,它被歸類為“任何”

有人可以指出我正確的方向,還是這種級別的合並尚不可用?

謝謝你的時間! 卡斯騰

您需要創建自己的記錄器並向其添加google-cloud-logging默認處理程序:

import logging

from flask import Flask
from google.cloud import logging as cloudlogging

log_client = cloudlogging.Client()
log_handler = log_client.get_default_handler()
cloud_logger = logging.getLogger("cloudLogger")
cloud_logger.setLevel(logging.INFO)
cloud_logger.addHandler(log_handler)

app = Flask(__name__)

@app.route('/_ah/push-handlers/cloudbuild', methods=['POST'])
def pubsub_push_handle():
    cloud_logger.info("info")
    cloud_logger.warning("warn")
    cloud_logger.error("error")
    return 'OK'

產生:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM