我正在使用这种方法将日志从我的GCP App-Engine逻辑发送到GCP Stackdriver日志记录:
import logging
import google.cloud.logging
from google.cloud.logging.handlers import CloudLoggingHandler, setup_logging
client = google.cloud.logging.Client()
handler = CloudLoggingHandler(client)
logging.getLogger().setLevel(logging.INFO)
setup_logging(handler)
logging.info('just info')
logging.warning('warning info')
logging.error('bad news')
这可以正常工作并生成日志,这些日志均经过一般分类,如下所示:
但是我想看到的是相同的日志,但是具有关联的严重性级别分类,并且在视觉上具有日志级别分类图标,例如以下示例:
我一直在浏览here找到的文档,并尝试了很多方法,但是所有方法都具有相同的无图标结果。欢迎任何意见或建议。
答案 0 :(得分:1)
您需要做的是为每个条目设置日志严重性。因此,例如对于“只是信息”,您可以将严重性设置为“信息”,这将为您提供示例中显示的那个蓝色小方块。查看此link可以查看所有严重性级别及其含义。
答案 1 :(得分:1)
在研究了这个问题并遵循了许多死胡同的线索之后,我偶然发现了这个站点,这为我提供了一个有效的答案:
https://blog.frank-mich.com/python-logging-to-stackdriver/
简而言之,我通过StreamHandler使用Stackdriver格式遵循他的解决方案。现在,这使我能够生成正确的SEVERITY级别格式的日志条目,这些条目可以在GCP日志记录中正确过滤: