Web Tracking 采集方式,单个请求只能写入一条日志,针对日志量较大的场景,可以使用PutWebTracking API将多条日志合并为一次请求。与Web Tracking类似,使用 PutWebTracking接口写入日志需要为Logstore打开Web Tracking开关。适用于在网页或者客户端采集日志的场景。

请求语法

POST {project}.{endpoint}/logstores/{logstoreName}/track HTTP/1.1

x-log-apiversion: 0.6.0
x-log-bodyrawsize: 1234
x-log-compresstype: gzip

{
  "__topic__": "topic",
  "__source__": "source",
  "__logs__": [
    {
      "key1": "value1",
      "key2": "value2"
    },
    {
      "key1": "value1",
      "key2": "value2"
    }
  ],
  "__tags__": {
    "tag1": "value1",
    "tag2": "value2"
  }
}

请求参数

URL参数

参数名称 类型 是否必须 描述
logstoreName string Logstore名称。
endpoint string 日志服务的Endpoint,请参考服务入口
project string Project 名称。
请求Body
参数名称 类型 是否必须 描述
__topic__ string 日志主题。
__source__ string 日志来源。
__logs__ list 日志内容列表。每个元素为一个 JSON 对象,表示一条日志。
说明 WebTracking采集的日志时间为日志到达服务端的时间,每条日志中无需设置__time__字段,如果存在该字段,将被服务端使用日志到达的时间覆盖。
__tags__ object 日志标签。

请求头

仅需要如下三个请求头:
  • x-log-apiversion: 0.6.0
  • x-log-bodyrawsize: 1234
  • x-log-compresstype: gzip
前两个为必选,第三个是可选,格式和含义请参考公共请求头

响应头

PutWebtracking接口无特有响应头。关于Log Service API的公共响应头,请参考公共响应头

响应元素

成功后无任何响应元素。

示例

请求示例:
POST my-project.cn-hangzhou.log.aliyuncs.com/logstores/logstore-test/track HTTP/1.1

x-log-apiversion: 0.6.0
x-log-bodyrawsize: 1234
x-log-compresstype: gzip

{
  "__topic__": "topic",
  "__source__": "source",
  "__logs__": [
    {
      "foo": "bar",
      "foo1": "bar1"
    },
    {
      "bar": "foo",
      "bar1": "foo1"
    }
  ],
  "__tags__": {
    "tag1": "value1",
    "tag2": "value2"
  }
}
响应示例:
HTTP/1.1 200 OK
Header:
{
Date=Wed, 20 May 2019 07:35:00 GMT, 
Content-Length=0, 
x-log-requestid=5642EFA499248C827B012B39, 
Connection=close, 
Server=nginx/1.6.1
}