日志服务支持使用 Protocol Buffer 格式作为标准的日志写入格式。

Protocol Buffer 用于结构化数据交换格式,当用户需要写入日志时,需要把原始日志数据序列化成如下格式的 Protocol Buffer 数据流,然后才能通过 API 写入服务端:
message Log
{
    required uint32 Time = 1;// UNIX Time Format
    message Content
    {
        required string Key = 1;
        required string Value = 2;
    }  
    repeated Content Contents = 2;
}

message LogTag
{
    required string Key = 1;
    required string Value = 2;
}

message LogGroup
{
    repeated Log Logs= 1;
    optional string Reserved = 2; // reserved fields
    optional string Topic = 3;
    optional string Source = 4;
    repeated LogTag LogTags = 6;
}

message LogGroupList
{
    repeated LogGroup logGroupList = 1;
}
说明
  • 在使用 Protobuf 时要保证 Key-Value 对的唯一性,否则会出现行为未定义的错误。
  • 关于 Protocol Buffer 格式的更多信息请参见 Github 首页
  • 关于日志服务写入日志的 API 的详细描述,请参见 PutLogs