Google StackDriver登录Flask应用程序 - 默认Flask记录器之间的区别?

时间:2018-05-03 23:36:54

标签: python google-app-engine google-cloud-stackdriver

我试图在GAE的示例应用程序中看到默认烧瓶记录器和stackdriver记录器之间的区别:https://cloud.google.com/python/getting-started/using-pub-sub

没有StackDriver记录器的代码:

def create_app(config, debug=False, testing=False, config_overrides=None):
    app = Flask(__name__)
    app.config.from_object(config)

    app.debug = debug
    app.testing = testing

    if config_overrides:
        app.config.update(config_overrides)

    # Configure logging
    if not app.testing:
        logging.basicConfig(level=logging.INFO)

StackDriver记录器代码:

def create_app(config, debug=False, testing=False, config_overrides=None):
    app = Flask(__name__)
    app.config.from_object(config)

    app.debug = debug
    app.testing = testing

    if config_overrides:
        app.config.update(config_overrides)

    # [START setup_logging]
    if not app.testing:
        client = google.cloud.logging.Client(app.config['PROJECT_ID'])
        # Attaches a Google Stackdriver logging handler to the root logger
        client.setup_logging(logging.INFO)

与从谷歌云导入记录器的StackDriver代码有一些区别。但是,日志的输出似乎相似:

没有StackDriver的输出日志: enter image description here

使用StackDriver输出日志:

enter image description here

使用或不使用StackDriver时,这些日志看起来并不相同。

当我转到StackDriver日志时,我会被重定向到GAE中的默认日志。 StackDriver记录器有什么特别的东西,普通的烧瓶记录器不能做到吗?

1 个答案:

答案 0 :(得分:1)

查看您用于记录器配置的两个功能:BasicconfigSetup.logging,您的记录器具有类似的设置,因此我有类似的日志输出是有意义的。

我不明白你期望在Stackdriver Logging Viewer中看到什么,因为你附加的两张图片看起来正确,因为它们是正常的Log entry for Stackdriver Logging。请注意,默认情况下,App Engine日志记录由Stackdriver Logging提供,如this document

中所述

Stackdriver Logging的优点是可以更好地管理日志以及分析日志的可能性。您可以查看this tutorial以了解相关信息。