googleappengine灵活环境中的原始自定义日志

2024-04-19 20:11:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Google App Engine上的Flexible(VM)环境中使用了以下代码,将具有特定格式要求的自定义日志与其他应用程序日志分开:

import logging as std_logging

std_logging.basicConfig()

custom_formatter = std_logging.Formatter('%(created)f\t%(message)s')
custom_handler = std_logging.FileHandler('/var/log/app_engine/custom_logs/custom.log')
custom_handler.setFormatter(custom_formatter)
custom_logging = std_logging.getLogger('custom')
custom_logging.addHandler(custom_handler)

在正常的Python环境中,它们将以指定格式的纯文本行的形式写入日志文件。在

然而,在将appengine生成的日志转储到云存储之后,我注意到appengine已经用其他信息包装了每个日志。在

例如(格式清晰)

^{2}$

textPayload字段的值是我生成的实际日志,但由appengine包装。在

有没有办法防止这种行为?不希望重新处理这些日志以正确格式化它们。在


Tags: 代码logapp环境formatterlogging格式custom
1条回答
网友
1楼 · 发布于 2024-04-19 20:11:36

这些额外的信息实际上非常方便,尤其是在appengine环境中,对模块/服务、版本或实例的筛选可以真正帮助您调查问题。在

如果重新处理日志是您的问题,我建议在export to BigQuery functionality上使用图灵。日志将不断地流式传输到BigQuery并立即可查询。这里的好处是您可以只查询text_payload属性,并轻松地将这个结果集导出为csv、text、json等

至于只从日志中导出几行文本,我不认为这是可能的。在

相关问题 更多 >