python-3.x - 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")
这是日志查看器
解决方案
我将以下应用部署到 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消息。WARNING
ERROR
CRITICAL
您是否有可能在其他地方寻找日志?从 App Engine 信息中心,您可以转到
服务> [您的服务] >诊断>工具>日志
查找您的服务的日志。
推荐阅读
- sql-server - 将 Excel 电子表格转换为 SQL Server 存储过程?
- java - 为 Minecraft Forge 编译 Gradle 时出现弃用功能错误
- sql - 当函数依赖于另一个(不是创建索引的那个)表中的数据时,基于函数的索引行为
- javascript - mongoDB太多连接如何正确关闭它们?
- javascript - javascript中localStorage的效率
- excel - 具有多列数据的 Excel 数据透视表,并且一列中的每个数据点可以有多个值
- python - 为什么 matplotlib 这里不使用指定的字体?
- python-3.x - Azure HTTPtrigger 函数未写入 Azure 存储队列
- firebase - 作为欧盟的开发人员,我应该在 Firebase 项目中使用哪些位置
- javascript - 如何将不同大小的数组转换为 JSON 对象?