使用python的GAE flexible和Stackriver日志严重性级别

时间:2018-10-11 12:49:02

标签: python python-3.x google-app-engine google-cloud-platform stackdriver

我正在google flexible应用引擎中运行python 3应用程序。我使用的是默认的python根记录器,希望能够像this image中一样查看日志级别。

使用gunicorn在GAE中部署具有以下日志配置的应用程序时:

import logging

logging.basicConfig(level=logging.INFO)
logging.warn('Warning level message')

所有日志级别都显示在GAE的any log level下,与严重性级别无关。

我尝试使用Stackdriver logging client for python

import logging
from google.cloud import logging as gcloud_logging

client = gcloud_logging.Client()
client.setup_logging(logging.INFO)

logging.basicConfig(level=logging.INFO)
logging.warn('Warning level message')

在本地执行时,此日志将发送到Stackdriver(在“ global”下),并且日志级别实际运行正常。但是,当我在GAE中部署此应用程序时,GAE的日志级别仍显示在“任何日志级别”下。另外,“全局”下的日志记录似乎不起作用。

是否有一种简单的方法来使日志严重性级别与python 3的google标准应用引擎配合使用?

1 个答案:

答案 0 :(得分:0)

您是否尝试过将Stackdriver Logging与Python日志记录模块集成?

来自https://gcloud-python.readthedocs.io/en/latest/logging/usage.html#integration-with-python-logging-module

import logging
handler = client.get_default_handler()
cloud_logger = logging.getLogger('cloudLogger')
cloud_logger.setLevel(logging.INFO)
cloud_logger.addHandler(handler)
cloud_logger.error('bad news')