我已打开开关以将 GAE 标准应用程序的日志发送到 GCS 存储桶。我按预期看到每天都有一个文件夹。对于每一天的每一个小时,我都会看到一个非常大的 json 文件,扩展名为 _S0.json。几个小时后,我还看到一个小得多的文件,扩展名为 _A0:.json。例如:
01:00:00_01:59:59_S0.json & 01:00:00_01:59:59_A0:4679580000.json
有什么区别,我正在尝试对文件进行后期处理并且需要知道。
我已打开开关以将 GAE 标准应用程序的日志发送到 GCS 存储桶。我按预期看到每天都有一个文件夹。对于每一天的每一个小时,我都会看到一个非常大的 json 文件,扩展名为 _S0.json。几个小时后,我还看到一个小得多的文件,扩展名为 _A0:.json。例如:
01:00:00_01:59:59_S0.json & 01:00:00_01:59:59_A0:4679580000.json
有什么区别,我正在尝试对文件进行后期处理并且需要知道。
导出到 GCS 的日志是分片的,_A0
和_S0
只是日志分片的标识符。
来自Google Cloud Storage 中的日志条目(强调我的):
叶目录 (
DD/
) 包含多个文件,每个文件都在文件名中指定的时间段内保存导出的日志条目。这些文件是分片的,它们的名称以分片号结尾,Sn
或An
(n=0, 1, 2, ...)。例如,这里有两个可能存储在目录中的文件my-gcs-bucket/syslog/2015/01/13/
:08:00:00_08:59:59_S0.json 08:00:00_08:59:59_S1.json
这两个文件一起包含从 0800 UTC 开始的一小时内所有实例的 syslog 日志条目。要获取所有日志条目,您必须读取每个时间段的所有分片——在这种情况下,文件分片 0 和 1。写入的文件分片数量可以根据日志条目的数量在每个时间段内发生变化。
我通过下面引用的配额和限制部分中的最后一个链接进入了上述页面:
日志摄取分配
App Engine 应用的日志记录由Stackdriver 提供。默认情况下,应用程序的日志最多可免费存储 7 天和 5GB。超过最大保留时间的日志将被删除,并且尝试存储超过 5 GB 的免费摄取限制将导致错误。您可以更新到高级层以获得更大的存储容量和保留时间。如需详细了解日志记录速率和限制,请参阅Stackdriver 定价。如果您希望将日志保留的时间超过 Stackdriver 允许的时间,您可以将日志导出到 Google Cloud Storage、Google BigQuery 或 Google Cloud Pub/Sub。