您可以使用 json 插件展开 JSON 结构,解析日志字段。本文介绍 json 插件的参数说明和配置示例。
说明
名称 | 类型 | 是否必选 | 解释 |
---|---|---|---|
field | String | 是 | 待 LogCollector 插件处理的字段名称。 |
when | Object | 否 | 插件的执行条件,仅当执行条件判断为 true 时,才执行此插件。详细说明请参考插件执行条件。 |
trim_keys.mode | string | 否 | trim_keys 用于指定是否删除 key 两端的字符串,其中 mode 参数指定删除方式。
|
trim_keys.chars | string | 否 | trim_keys 用于指定是否删除 key 两端的字符串,其中 chars 参数指定删除的字符范围。 默认为双引号(")。 |
trim_values.mode | String | 否 | trim_values 用于指定是否删除 value 两端的字符串,其中 mode 参数指定删除方式。
|
trim_values.chars | String | 否 | trim_values 用于指定是否删除 value 两端的字符串,其中 chars 参数指定删除的字符范围。 默认为双引号(")。 |
allow_empty_values | boolean | 否 | 如果field指定字段的字段值(value)经解析后,某个子字段值为空,是否保留此键值对。
|
allow_overwrite_keys | boolean | 否 | 如果 keys 中指定的 key 与采集配置中已存在的 key 重复时,是否覆盖已存在 key 对应的字段。
|
原始日志
"json_key": "{\"data\":\"Click Here\",\"size\":36,\"style\":\"bold\",\"name\":\"text1\",\"hOffset\":250,\"vOffset\":100,\"alignment\":\"#center#\",\"#onMouseUp#\":\"sun1.opacity = (sun1.opacity / 100) * 90;\"}"
LogCollector 插件处理配置
{ "processors":[ { "json":{ "field":"json_key", "trim_keys":{ "mode":"all", "chars":"#" }, "trim_values":{ "mode":"all", "chars":"#" }, "allow_overwrite_keys":true, "allow_empty_values":true } } ] }
处理结果
"data": "Click Here" "size": "36" "style": "bold" "name": "text1" "hOffset": "250" "vOffset": "100" "alignment": "center" "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"