云日志服务 LTS-字段操作函数:e_pack_fields
e_pack_fields
用e_pack_fields函数将日志字段进行打包,并输出到新的字段中。
- 函数格式
e_pack_fields(output_fields,include=".*",exclude=None,drop_packed=true)
- 参数说明
参数
类型
是否必填
说明
output_field
String
是
指定打包后输出的字段名称。其值为JSON格式。
include
String
否
白名单配置,符合正则表达式的字段会被打包。默认为".*" ,表示全部匹配。
exclude
String
否
黑名单配置,符合正则表达式的字段不会被打包。默认为None,表示不进行匹配判断。
drop_packed
Boolean
否
打包数据后是否删除被打包的原数据,默认为true。
- true(默认值):输出结果中删除被打包的原数据。
- false:输出结果中不删除被打包的原数据。
- 返回结果
返回被打包后的日志数据。
- 函数示例
- 示例1:将日志所有字段打包到test字段,默认删除被打包的原始字段。
- 测试数据
{ "test1":123, "test2":456, "test3":789 }
- 加工规则
e_pack_fields("test")
- 加工结果
test:{"test1": "123", "test2": "456", "test3": "789"}
- 测试数据
- 示例2:将日志所有字段打包到test字段,不删除被打包的原始字段。
- 测试数据
{ "test1":123, "test2":456, "test3":789 }
- 加工规则
e_pack_fields("test",drop_packed=false)
- 加工结果
test:{"test1": "123", "test2": "456", "test3": "789"} test1:123 test2:456 test3:789
- 测试数据
- 示例3:打包test和abcd字段到content字段,不删除被打包的原始字段。
- 测试数据
{ "abcd@#%":123, "test":456, "abcd":789 }
- 加工规则
e_pack_fields("content", include="\w+", drop_packed=false)
- 加工结果
abcd:789 abcd@#%:123 content:{"test": "456", "abcd": "789"} test:456
- 测试数据
- 示例4:不打包test和abcd字段,其余字段打包到content字段,删除被打包的原始字段。
- 测试数据
{ "abcd@#%":123, "test":456, "abcd":789 }
- 加工规则
e_pack_fields("content", exclude="\w+", drop_packed=true)
- 加工结果
abcd:789 content:{"abcd@#%": "123"} test:456
- 测试数据
- 示例1:将日志所有字段打包到test字段,默认删除被打包的原始字段。