stackdriver 日志记录客户端库缺少 python 的严重性
stackdriver logging client library missing severity with python
我想从我的应用引擎标准 python3 应用程序向 stackdriver 日志记录发送更具表现力的日志条目。
通过遵循 official documentation,我能够将我的日志发送到 stackdriver,似乎时间戳被正确解析。
但我遗漏了严重性级别。此外,我看不到 link 将特定请求的日志记录到操作中。 java 日志记录似乎开箱即用。
我的代码供参考:
import logging
import os
from flask import Flask
from google.cloud import logging as glog
app = Flask(__name__)
log_client = glog.Client(os.getenv('GOOGLE_CLOUD_PROJECT'))
# Attaches a Google Stackdriver logging handler to the root logger
log_client.setup_logging()
@app.route('/_ah/push-handlers/cloudbuild', methods=['POST'])
def pubsub_push_handle():
logging.info("stdlib info")
logging.warning("stdlib warn")
logging.error("stdlib error")
导致 stackdriver 的日志:
如您所见,时间戳和消息可用,但严重性却奇怪地丢失了,它被归类为 'Any'
有人能给我指出正确的方向吗?或者这种级别的合并还不可用吗?
感谢您的宝贵时间!
卡斯滕
您需要创建自己的记录器并向其添加 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)
app = Flask(__name__)
@app.route('/_ah/push-handlers/cloudbuild', methods=['POST'])
def pubsub_push_handle():
cloud_logger.info("info")
cloud_logger.warning("warn")
cloud_logger.error("error")
return 'OK'
生产:
我想从我的应用引擎标准 python3 应用程序向 stackdriver 日志记录发送更具表现力的日志条目。 通过遵循 official documentation,我能够将我的日志发送到 stackdriver,似乎时间戳被正确解析。
但我遗漏了严重性级别。此外,我看不到 link 将特定请求的日志记录到操作中。 java 日志记录似乎开箱即用。
我的代码供参考:
import logging
import os
from flask import Flask
from google.cloud import logging as glog
app = Flask(__name__)
log_client = glog.Client(os.getenv('GOOGLE_CLOUD_PROJECT'))
# Attaches a Google Stackdriver logging handler to the root logger
log_client.setup_logging()
@app.route('/_ah/push-handlers/cloudbuild', methods=['POST'])
def pubsub_push_handle():
logging.info("stdlib info")
logging.warning("stdlib warn")
logging.error("stdlib error")
导致 stackdriver 的日志:
如您所见,时间戳和消息可用,但严重性却奇怪地丢失了,它被归类为 'Any'
有人能给我指出正确的方向吗?或者这种级别的合并还不可用吗?
感谢您的宝贵时间! 卡斯滕
您需要创建自己的记录器并向其添加 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)
app = Flask(__name__)
@app.route('/_ah/push-handlers/cloudbuild', methods=['POST'])
def pubsub_push_handle():
cloud_logger.info("info")
cloud_logger.warning("warn")
cloud_logger.error("error")
return 'OK'
生产: