Logtail提供数据处理插件,您可对数据源添加一个或多个处理配置,Logtail会根据处理配置顺序逐一执行。本文列举了Logtail处理配置及相关说明。

实现原理

Logtail处理配置的实现原理如下图所示。实现原理

使用说明

为采集数据配置处理方式,处理配置的key为processors,value为JSON Object数组,数组内每个Object代表一个处理方式。

单一处理方式包含两个字段:typedetail,其中type为该处理方式的类型,detail为该处理方式的详细配置。
"processors" : [
        {
            "type" : "processor_anchor",
            "detail" : {
                ...
            }
        },
        {
            "type" : "processor_regex",
            "detail" : {
                ...
            }
        }
    ]

处理方式

正则提取

通过对指定字段进行正则表达式匹配来提取字段。

插件类型为processor_regex,相关参数说明如下所示。
参数 类型 是否必选 说明
SourceKey string 原始字段名。
Regex string 正则表达式,需要提取的字段使用()标注。
Keys string 数组 通过正则表达式提取的字段名,例如[“key1”, “key2” …]。
NoKeyError bool 无匹配的原始字段时是否报错。不配置时,默认为false表示不报错。
NoMatchError bool 正则表达式与原始字段的值不匹配时是否报错。不配置时,默认为false表示不报错。
KeepSource bool 是否保留原始字段。不配置时,默认为false表示不保留。
FullMatch bool 不配置时,默认为true表示只有字段完全匹配Regex参数中的正则表达式时才被提取。配置为false时表示部分字段匹配也会进行提取。

例如:处理Access日志,对应的Logtail处理配置及处理结果如下所示。

  • 原始数据
    "content" : "10.200.**.** - - [10/Aug/2017:14:57:51 +0800] \"POST /PutData?
    Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature> HTTP/1.1\" 0.024 18204 200 37 \"-\" \"aliyun-sdk-java"
  • Logtail处理配置
    {
        "type" : "processor_regex",
        "detail" : {"SourceKey" : "content",
             "Regex" : "([\\d\\.]+) \\S+ \\S+ \\[(\\S+) \\S+\\] \"(\\w+) ([^\\\"]*)\" ([\\d\\.]+) (\\d+) (\\d+) (\\d+|-) \"([^\\\"]*)\" \"([^\\\"]*)\" (\\d+)",
             "Keys"   : ["ip", "time", "method", "url", "request_time", "request_length", "status", "length", "ref_url", "browser"],
             "NoKeyError" : true,
             "NoMatchError" : true,
             "KeepSource" : false
        }
    }
  • 处理结果
    "ip" : "10.200.**.**"
    "time" : "10/Aug/2017:14:57:51"
    "method" : "POST"
    "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>"
    "request_time" : "0.024"
    "request_length" : "18204"
    "status" : "200"
    "length" : "27"
    "ref_url" : "-"
    "browser" : "aliyun-sdk-java"

标定提取

通过标定指定字段的起始和结束关键字进行提取,标定后的字符串支持直接提取和JSON展开。

插件类型为processor_anchor,相关参数说明如下所示。
参数 类型 是否必选 说明
SourceKey string 原始字段名。
Anchors Anchor 数组 标定项列表。
NoAnchorError bool 查找不到关键字时是否报错。不配置时,默认为false表示不报错。
NoKeyError bool 无匹配的原始字段时是否报错。不配置时,默认为false表示不报错。
KeepSource bool 是否保留原始字段。不配置时,默认为false表示不保留。
其中,Anchors参数详细说明如下所示。
参数 类型 是否必选 说明
Start string 起始关键字。如果为空,表示匹配字符串开头。
Stop string 结束关键字,如果为空,表示匹配字符串结尾。
FieldName string 提取的字段名。
FieldType string 提取字段的类型,支持string和json两种类型。
ExpondJson bool 是否进行JSON展开。不配置时,默认为false表示不展开。当FieldTypejson时生效。
ExpondConnecter string JSON展开的连接符。不配置时,默认为_
MaxExpondDepth int JSON展开最大深度。不配置时,默认为0表示无限制。

例如:处理某混合类型数据源,对应的Logtail处理配置和处理结果如下所示。

  • 原始数据
    "content" : "time:2017.09.12 20:55:36\tjson:{\"key1\" : \"xx\", \"key2\": false, \"key3\":123.456, \"key4\" : { \"inner1\" : 1, \"inner2\" : false}}"
  • Logtail处理配置
    {
       "type" : "processor_anchor",
       "detail" : {"SourceKey" : "content",
          "Anchors" : [
              {
                  "Start" : "time",
                  "Stop" : "\t",
                  "FieldName" : "time",
                  "FieldType" : "string",
                  "ExpondJson" : false
              },
              {
                  "Start" : "json:",
                  "Stop" : "",
                  "FieldName" : "val",
                  "FieldType" : "json",
                  "ExpondJson" : true 
              }
          ]
      }
    }
  • 处理结果
    "time" : "2017.09.12 20:55:36"
    "val_key1" : "xx"
    "val_key2" : "false"
    "val_key3" : "123.456"
    "value_key4_inner1" : "1"
    "value_key4_inner2" : "false"

分隔符方式(单字符)

该插件通过指定单字符分隔符对字段进行分割,可指定引用符对分隔符进行包裹。

插件类型为processor_split_char,相关参数说明如下所示。
参数 类型 是否必选 说明
SourceKey string 原始字段名。
SplitSep string 分隔符,必须为单字符,可设置为不可见字符,例如\u0001
SplitKeys string 数组 分割后的字段名,例如[“key1”, “key2”…]。
QuoteFlag bool 是否使用引用符。不配置时,默认为false表示不使用。
Quote string 引用符,必须为单字符,可以为不可见字符,例如\u0001。当QuoteFlag配置为true时有效。
NoKeyError bool 无匹配的原始字段时是否报错。不配置时,默认为false表示不报错。
NoMatchError bool 分隔符不匹配时是否报错。不配置时,默认为false表示不报错。
KeepSource bool 是否保留原始字段。不配置时,默认为false表示不保留。

例如:采用单字符分隔符处理方式处理分隔符日志,对应的Logtail处理配置和处理结果如下所示。

  • 原始数据
    "content" : "10.**.**.**|10/Aug/2017:14:57:51 +0800|POST|PutData?
    Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>|0.024|18204|200|37|-|
    aliyun-sdk-java"
  • Logtail处理配置
    {
       "type" : "processor_split_char",
       "detail" : {"SourceKey" : "content",
          "SplitSep" : "|",
          "SplitKeys" : ["ip", "time", "method", "url", "request_time", "request_length", "status", "length", "ref_url", "browser"]     
      }
    }
  • 处理结果
    "ip" : "10.**.**.**"
    "time" : "10/Aug/2017:14:57:51 +0800"
    "method" : "POST"
    "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>"
    "request_time" : "0.024"
    "request_length" : "18204"
    "status" : "200"
    "length" : "27"
    "ref_url" : "-"
    "browser" : "aliyun-sdk-java"

分隔符类型(多字符)

该插件通过指定多字符分隔符对字段进行分割,不支持指定引用符对分隔符进行包裹。

插件类型为processor_split_string,相关配置说明如下所示。
参数 类型 是否必选 说明
SourceKey string 原始字段名,即待提取的字段。
SplitSep string 分隔符,可设置为不可见字符,例如\u0001\u0002
SplitKeys string 数组 分割后的字段名,例如[“key1”, “key2”…]。
PreserveOthers bool 如果待分割的字段大于SplitKeys中的字段长度时是否保留超出部分。不配置时,默认为false表示不保留。
ExpandOthers bool 是否解析超出部分,不配置时,默认为false表示不继续解析。
ExpandKeyPrefix string 超出部分的命名前缀,例如配置expand_,则key为expand_1expand_2
NoKeyError bool 无匹配的原始字段时是否报错。不配置时,默认为false表示不报错。
NoMatchError bool 分隔符不匹配时是否报错。不配置时,默认为false表示不报错。
KeepSource bool 是否保留原始字段。不配置时,默认为false表示不保留。

例如:采用多字符分隔符处理方式处理分隔符日志,对应的Logtail处理配置和处理结果如下所示。

  • 原始数据
    "content" : "10.**.**.**|#|10/Aug/2017:14:57:51 +0800|#|POST|#|PutData?
    Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>|#|0.024|#|18204|#|200|#|27|#|-|#|
    aliyun-sdk-java"
  • Logtail处理配置
    {
       "type" : "processor_split_string",
       "detail" : {"SourceKey" : "content",
          "SplitSep" : "|#|",
          "SplitKeys" : ["ip", "time", "method", "url", "request_time", "request_length", "status"],
          "PreserveOthers" : true,
          "ExpandOthers" : true,
          "ExpandKeyPrefix" : "expand_"
      }
    }
  • 处理后的日志
    "ip" : "10.**.**.**"
    "time" : "10/Aug/2017:14:57:51 +0800"
    "method" : "POST"
    "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>"
    "request_time" : "0.024"
    "request_length" : "18204"
    "status" : "200"
    "expand_1" : "27"
    "expand_2" : "-"
    "expand_3" : "aliyun-sdk-java"

GeoIP转换

GeoIP转换支持将数据中的IP地址转换为地理位置,可转换成国家、省份、城市、经纬度。

说明 Logtail安装包中没有GeoIP数据库,您需要手动下载GeoIP数据库到本地并配置,建议下载精确到City的数据库。
插件类型为processor_geoip,相关参数说明如下所示。
参数 类型 是否必选 说明
SourceKey string 原始字段名,即待进行IP转换的字段。
DBPath string GeoIP数据库的全路径,数据库格式为mmdb,例如:/user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb
NoKeyError bool 无匹配的原始字段时是否报错。不配置时,默认为false表示不报错。
NoMatchError bool IP地址无效或数据库中未匹配到该IP地址时是否报错,不配置时,默认为false表示不报错。
KeepSource bool 是否保留原始字段。不配置时,默认为true表示保留。
Language string 语言属性。不配置时,默认为zh-CN。请确保您的GeoIP数据库中包含相应的语言。

例如:采用GeoIP方式将日志中的IP地址转换成地理位置,对应的Logtail处理配置和处理结果如下所示。

  • 原始数据
    "source_ip" : "**.**.**.**"
    下载GeoIP数据库到Logtail所在的服务器,可使用MaxMind GeoLite2中的City数据库。
    说明 请检查数据库格式为mmdb类型。
  • Logtail处理配置
    {
       "type": "processor_geoip",
        "detail": {
             "SourceKey": "ip",
             "NoKeyError": true,
             "NoMatchError": true,
             "KeepSource": true,
             "DBPath" : "/user/local/data/GeoLite2-City_20180102/GeoLite2-City.mmdb"
        }
    }
  • 处理结果
    "source_ip_city_" : "**.**.**.**"
    "source_ip_province_" : "浙江省"
    "source_ip_city_" : "杭州"
    "source_ip_province_code_" : "ZJ"
    "source_ip_country_code_" : "CN"
    "source_ip_longitude_" : "120.********"
    "source_ip_latitude_" : "30.********"

正则过滤

通过对字段进行正则表达式匹配来过滤日志。

插件类型为processor_filter_regex,相关参数说明如下所示。
参数 类型 是否必选 说明
Include key为string类型,value为string的JSON Object key为日志字段,value为该字段匹配的正则表达式,如果指定字段符合该表达式,则采集该日志。
Exclude key为string类型,value为string的JSON Object key为日志字段,value为该字段匹配的正则表达式,如果指定字段符合该表达式,则不采集该日志。
说明 一条日志只有完全匹配Include中的正则表达式,且不匹配Exclude中的正则表达式时才会被采集,否则直接丢弃。

例如:采用正则过滤方式处理日志,对应的Logtail处理配置和处理结果如下所示。

  • 原始数据
    • 日志1
      "ip" : "10.**.**.**"
      "method" : "POST"
      ...
      "browser" : "aliyun-sdk-java"
    • 日志2
      "ip" : "10.**.**.**"
      "method" : "POST"
      ...
      "browser" : "chrome"
    • 日志3
      "ip" : "192.168.*.*"
      "method" : "POST"
      ...
      "browser" : "ali-sls-ilogtail"
  • Logtail处理配置
    {
       "type" : "processor_filter_regex",
        "detail" : {
             "Include" : {
                "ip" : "10\\..*",
                "method" : "POST"
             },
             "Exclude" : {
                "browser" : "aliyun.*"
             }
        }
    }
  • 处理结果
    日志 是否采集 原因
    日志1 不采集 browser字段的值匹配Exclude中正则表达式。
    日志2 采集 不涉及。
    日志3 不采集 ip字段的值不匹配Include中的正则表达式。

添加字段

通过该插件可以为日志数据添加指定的字段,支持添加多个字段。

插件类型为processor_add_fields,相关参数说明如下所示。
说明 支持Logtail 0.16.28及以上版本支持该插件。
参数 类型 是否必选 说明
Fields map 键值对,指定要添加的一个或者多个键值对。
IgnoreIfExist bool 当key相同时是否忽略。不配置时,默认为false表示不忽略。
例如:为日志数据增加指定字段aaa2aaa3,对应的Logtail处理配置和处理结果如下所示。
  • 原始数据
    "aaa1":"value1"
  • Logtail处理配置
    {
      "processors":[
        {
          "type":"processor_add_fields",
          "detail": {
            "Fields": {
              "aaa2": "value2",
              "aaa3": "value3"
            }
          }
        }
      ]
    }
  • 处理后的日志
    "aaa1":"value1"
    "aaa2":"value2"
    "aaa3":"value3"

丢弃字段

通过该插件丢弃日志数据中指定的字段

插件类型为processor_drop,相关参数说明如下所示。
说明 Logtail 0.16.28及以上版本支持该插件。
参数 类型 是否必选 参数说明
DropKeys array 字符串数组,指定要从日志中删除的一个或者多个字段。
例如:删除日志中的aaa1aaa2字段,Logtail处理配置详情及处理结果如下所示。
  • 原始数据
    "aaa1":"value1"
    "aaa2":"value2"
    "aaa3":"value3"
  • Logtail处理配置
    {
      "processors":[
        {
          "type":"processor_drop",
          "detail": {
            "DropKeys": ["aaa1","aaa2"]
          }
        }
      ]
    }
  • 处理结果
    "aaa3":"value3"

日志时间提取(Golang)

从指定字段中提取日志时间,并将其转换为其他字段。提取及转换所使用的时间格式为Golang Time Format

插件类型为processor_gotime,相关参数说明如下所示。
说明 Logtail 0.16.28及以上版本支持该插件。
参数 类型 是否必选 说明
SourceKey string 提取日志时间的源字段。为空时,不生效。
SourceFormat string 将源字段解析为go时间格式。
SourceLocation int 源时区。为空时,表示本机时区。
DestKey string 目标字段,为空不生效。
DestFormat string 将目标字段解析为go时间格式。
DestLocation int 目标时区。为空时,表示本机时区。
SetTime bool 是否设置时间字段,不配置时,默认为true表示设置。
KeepSource bool 是否保留源字段。不配置时,默认为true表示保留。
NoKeyError bool 无匹配的原始字段时是否报错。不配置时,默认为true表示报错。
AlarmIfFail bool 提取失败是否告警。不配置时,默认为true表示告警。
例如:以2006-01-02 15:04:05(东八区)格式解析s_key字段的值作为日志时间,并以2006/01/02 15:04:05(东九区)格式将日志时间转换到d_key字段中,对应的Logtail处理配置及处理结果如下所示。
  • 原始数据
    "s_key":"2019-07-05 19:28:01"
  • 配置详情
    {
      "processors":[
        {
          "type":"processor_gotime",
          "detail": {
            "SourceKey": "s_key",
            "SourceFormat":"2006-01-02 15:04:05",
            "SourceLocation":8,
            "DestKey":"d_key",
            "DestFormat":"2006/01/02 15:04:05",
            "DestLocation":9,
            "SetTime": true,
            "KeepSource": true,
            "NoKeyError": true,
            "AlarmIfFail": true
          }
        }
      ]
    }
  • 处理后的日志
    "s_key":"2019-07-05 19:28:01"
    "d_key":"2019/07/05 20:28:01"

JSON处理

对指定字段进行JSON展开。

插件类型为processor_json。
说明 Logtail 0.16.28及以上版本支持该插件。
参数 类型 是否必选 说明
SourceKey string 待进行JSON展开的源字段。
NoKeyError bool 无匹配字段时是否报错。不配置时,默认为true表示报错。
ExpandDepth int JSON展开的深度。不配置时,默认为0表示不限制,1表示当前层级,以此类推。
ExpandConnector string JSON展开时的连接符。不配置时,默认为_,也可以为空。
Prefix string JSON展开时对字段附加的前缀。不配置时,默认为空。
KeepSource bool 是否保留源字段。不配置时,默认为true表示保留。
UseSourceKeyAsPrefix bool 是否将源字段作为所有JSON展开字段的前缀。不配置时,默认为false表示否。
例如:对s_key字段进行JSON展开,Logtail处理配置详情及处理结果如下所示。
  • 原始数据
    "s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}})"
  • Logtail处理配置
    {
      "processors":[
        {
          "type":"processor_json",
          "detail": {
            "SourceKey": "s_key",
            "NoKeyError":true,
            "ExpandDepth":0,
            "ExpandConnector":"-",
            "Prefix":"j",
            "KeepSource": false,
            "UseSourceKeyAsPrefix": true
          }
        }
      ]
    }
  • 处理后的日志
    "s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}})"
    "js_key-k1-k2-k3-k4-k51":"51"
    "js_key-k1-k2-k3-k4-k52":"52"
    "js_key-k1-k2-k3-k41":"41"

字段打包(JSON)

将指定字段(一个或多个)打包成JSON格式的字段。

插件类型为processor_packjson。
说明 Logtail 0.16.28及以上版本支持此插件。
参数 类型 是否必选 说明
SourceKeys array 待打包的字段,格式为字符串数组。
DestKey string JSON格式的字段。
KeepSource bool 是否保留源字段。不配置时,默认为true表示保留。
AlarmIfIncomplete bool 不存在任何源字段时,是否告警。不配置时,默认为true表示告警。
将指定的ab两个字段打包成JSON字段d_key,对应的Logtail配置详情及处理结果如下所示。
  • 原始数据
    "a":"1"
    "b":"2"
  • Logtail处理配置
    {
      "processors":[
        {
          "type":"processor_packjson",
          "detail": {
            "SourceKeys": ["a","b"],
            "DestKey":"d_key",
            "KeepSource":true,
            "AlarmIfEmpty":true
          }
        }
      ]
    }
  • 处理后的日志
    "a":"1"
    "b":"2"
    "d_key":"{\"a\":\"1\",\"b\":\"2\"}"

字段重命名

对指定字段(一个或多个)进行重命名。

插件类型为processor_rename。
说明 Logtail 0.16.28及以上版本支持此插件。
参数 类型 是否必选 说明
NoKeyError bool 无匹配字段时是否报错。不配置时,默认为false表示不报错。
SourceKeys array 字符串数组,指定要进行重命名的源字段。
DestKeys array 字符串数组,对源字段进行重命名后的目标字段。
aaa1字段和aaa2字段重命名为bbb1bbb2,对应的Logtail处理配置及处理结果如下所示。
  • 原始数据
    "aaa1":"value1"
    "aaa2":"value2"
    "aaa3":"value3"
  • Logtail处理配置
    {
      "processors":[
        {
          "type":"processor_rename",
          "detail": {
            "SourceKeys": ["aaa1","aaa2"],
            "DestKeys": ["bbb1","bbb2"],
            "NoKeyError": true
          }
        }
      ]
    }
  • 处理后的日志
    "bbb1":"value1"
    "bbb2":"value2"
    "aaa3":"value3"

日志时间提取(Strptime)

通过该插件可以从指定字段中提取日志时间,时间格式为Linux strptime

插件类型为processor_strptime。
说明 Logtail 0.16.28及以上版本支持该插件。
参数 类型 是否必选 说明
SourceKey string 提取日志时间的源字段,为空则不生效。
Format string 解析源字段所使用的时间格式。
AdjustUTCOffset bool 是否对时间时区进行调整。不配置时,默认为false表示不调整。
UTCOffset int 用于调整的时区偏移秒数,例如:28800表示东八区。
AlarmIfFail bool 提取失败时是否告警。不配置时,默认为true表示进行告警。
KeepSource bool 是否保留源字段。不配置时,默认为true表示保留。
log_time字段的值解析为%Y/%m/%d %H:%M:%S格式的日志时间,时区使用机器时区。配置详情及处理结果如下:
  • 示例1:假设时区为东八区。
    • 原始数据
      "log_time":"2016/01/02 12:59:59"
    • Logtail处理配置
      {
        "processors":[
          {
            "type":"processor_strptime",
            "detail": {
              "SourceKey": "log_time",
              "Format": "%Y/%m/%d %H:%M:%S"
            }
          }
        ]
      }
    • 处理结果
      "log_time":"2016/01/02 12:59:59"
      Log.Time = 1451710799
  • 示例2:假设时区为东七区。
    • 原始数据
      "log_time":"2016/01/02 12:59:59"
    • Logtail处理配置
      {
        "processors":[
          {
            "type":"processor_strptime",
            "detail": {
              "SourceKey": "log_time",
              "Format": "%Y/%m/%d %H:%M:%S",
              "AdjustUTCOffset": true,
              "UTCOffset": 25200
            }
          }
        ]
      }
    • 处理结果
      "log_time":"2016/01/02 12:59:59"
      Log.Time = 1451714399

组合配置

各个处理配置可以组合搭配使用。您可以参考下述配置对日志先进行分隔符切分,再对切分后的detail进行标定提取。

  • 原始数据
    "content" : 
    "ACCESS|QAS|11.**.**.**|1508729889935|52460dbed4d540b88a973cf5452b1447|1238|appKey=ba,env=pub,requestTime=1508729889913,latency=22ms,
    request={appKey:ba,optional:{\\domains\\:\\daily\\,\\version\\:\\v2\\},rawQuery:{\\query\\:\\去乐山的路线\\,\\domain\\:\\导航\\,\\intent\\:\\navigate\\,\\slots\\:\\to_geo:level3=乐山\\,\\location\\:\\北京\\},
    requestId:52460dbed4d540b88a973cf5452b1447},
    response={answers:[],status:SUCCESS}|"
  • Logtail处理配置
    "processors" : [
          {
              "type" : "processor_split_char",
              "detail" : {"SourceKey" : "content",
                  "SplitSep" : "|",
                  "SplitKeys" : ["method", "type", "ip", "time", "req_id", "size", "detail"]
              }
          },
          {
              "type" : "processor_anchor",
              "detail" : "SourceKey" : "detail",
                  "Anchors" : [
                      {
                              "Start" : "appKey=",
                          "Stop" : ",env=",
                          "FieldName" : "appKey",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",env",
                          "Stop" : ",requestTime=",
                          "FieldName" : "env",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",requestTime=",
                          "Stop" : ",latency",
                          "FieldName" : "requestTime",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",latency=",
                          "Stop" : ",request=",
                          "FieldName" : "latency",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",request=",
                          "Stop" : ",response=",
                          "FieldName" : "request",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",response=",
                          "Stop" : "",
                          "FieldName" : "response",
                          "FieldType" : "json"
                      }
                  ]
              }
          }
      ]
  • 处理结果
    "method" : "ACCESS"
    "type" : "QAS"
    "ip" : "**.**.**.**"
    "time" : "1508729889935"
    "req_id" : "52460dbed4d540b88a973cf5452b1447"
    "size" : "1238"
    "appKey" : "ba"  
    "env" : "pub"
    "requestTime" : "1508729889913"
    "latency" : "22ms"
    "request" : "{appKey:nui-banma,optional:{\\domains\\:\\daily-faq\\,\\version\\:\\v2\\},rawQuery:{\\query\\:\\\345\216\273\344\271\220\345\261\261\347\232\204\350\267\257\347\272\277\\,\\domain\\:\\\345\257\274\350\210\252\\,\\intent\\:\\navigate\\,\\slots\\:\\to_geo:level3=\344\271\220\345\261\261\\,\\location\\:\\\345\214\227\344\272\254\\},requestId:52460dbed4d540b88a973cf5452b1447}"  
    "response_answers" : "[]"
    "response_status" : "SUCCESS"