首页 > 解决方案 > Python 3.7 - 记录器未在 GCP 日志查看器上显示任何日志

问题描述

我制作了一个名为“logger”的装饰器,并使用它在控制台上显示日志。

在我的 python 2.7 中一切正常,但在我的 python 3.7 代码中,它不会在GCP log viewer中打印任何日志。(我的代码部署在GCP标准环境中)

我尝试设置此代码,但它不起作用。

logging.getLogger().setLevel(logging.INFO)

这是我的简单记录器装饰器

def logger(func):
  def wrapper(*args, **kwargs):
    logging.info('INSIDE %s PARAMETERS: %s', func.__name__, args)
    res = func(*args, **kwargs)
    logging.info('OUTSIDE %s OUTPUT: %s', func.__name__, res)
    return res

  return wrapper

即使是简单的logging.info声明也不起作用。

我已经尝试了所有的日志记录,但在 GCP 日志查看器上没有打印任何内容。

logging.info("Text info")
logging.debug("Text debug")
logging.warning("Text warning")
logging.error("Text error")
logging.critical("Text critical")

这是日志查看器

日志查看器的屏幕截图

标签: python-3.xlogginggoogle-cloud-platform

解决方案


我将以下应用部署到 App Engine:

app.yaml

运行时:python37

requirements.txt

Flask==1.0.2

main.py

from flask import Flask

import logging
logging.getLogger().setLevel(logging.INFO)

app = Flask(__name__)

@app.route('/')
def hello():
    logging.info("Text info")
    logging.debug("Text debug")
    logging.warning("Text warning")
    logging.error("Text error")
    logging.critical("Text critical")
    return 'Hello World!'

当我在请求后查看应用程序的 Stackdriver 日志时,我看到了预期的 、INFO和log消息。WARNINGERRORCRITICAL

您是否有可能在其他地方寻找日志?从 App Engine 信息中心,您可以转到

服务> [您的服务] >诊断>工具>日志

查找您的服务的日志。


推荐阅读