Python Google Cloud Function记录严重性和重复项

时间:2019-06-28 13:26:25

标签: python google-cloud-platform google-cloud-functions google-cloud-stackdriver

我正在研究一个在Python运行时中运行的简单Google Cloud Function,我希望从Python程序到Stackdriver Logging进行一些简单的记录。

根据Google的入门指南,这应该很简单 https://cloud.google.com/logging/docs/setup/python

我设置了一个简单的测试功能来隔离我看到的日志记录问题

import google.cloud.logging

def logging_test_background(data, context):

    logging_client = google.cloud.logging.Client()
    logging_client.setup_logging()

    logging.info("This should be info")
    logging.debug("This should be debug")
    logging.warning("This should be warning")
    logging.error("This should be error")

在Stackdriver Logging中,一切变得混乱。 enter image description here  1.信息被复制为错误  2.调试未通过  3.警告重复,但两者均为错误记录级别  4.错误重复

配置中是否缺少某些内容?

1 个答案:

答案 0 :(得分:1)

您需要创建自己的记录器,并向其中添加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)

def logging_test_background(data, context):
    cloud_logger.info("info")
    cloud_logger.warning("warn")
    cloud_logger.error("error")
    return 'OK'

产生:

enter image description here