参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
alias | 目标主题的别名 | string | 是 | - | - |
[{"loglevel": "warning"},{"loglevel": "info"},{"loglevel": "error"}]
//按照loglevel字段值为waring/info/error的情况,分发到三个不同的日志主题中。t_switch(regex_match(v("loglevel"),regex="info"),log_output("info_log"),regex_match(v("loglevel"),regex="warning"),log_output("warning_log"),regex_match(v("loglevel"),regex="error"),log_output("error_log"))
log_split(字段名, sep=",", quote="\\"", jmes="", output="")
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
field | 待提取的字段名 | string | 是 | - | - |
sep | 分隔符 | string | 否 | , | 任意单字符 |
quote | 将值包括起来的字符 | string | 否 | - | - |
jmes | jmes 表达式,详情请参考 JMESPath | string | 否 | - | - |
output | 单个字段名 | string | 是 | - | - |
{"field": "hello Go,hello Java,hello python","status":"500"}
//使用分割符“,”,将日志分隔成三条。log_split("field", sep=",", output="new_field")
{"new_field":"hello Go","status":"500"}{"new_field":"hello Java","status":"500"}{"new_field":"hello python","status":"500"}
{"field": "{\\"a\\":{\\"b\\":{\\"c\\":{\\"d\\":\\"a,b,c\\"}}}}", "status": "500"}
//a.b.c.d节点的值为“a,b,c”log_split("field", jmes="a.b.c.d", output="new_field")
{"new_field":"a","status":"500"}{"new_field":"b","status":"500"}{"new_field":"c","status":"500"}
{"field": "{\\"a\\":{\\"b\\":{\\"c\\":{\\"d\\":[\\"a\\",\\"b\\",\\"c\\"]}}}}", "status": "500"}
log_split("field", jmes="a.b.c.d", output="new_field")
{"new_field":"a","status":"500"}{"new_field":"b","status":"500"}{"new_field":"c","status":"500"}
log_drop(条件1)
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
condition | 返回值为 bool 类型的函数表达式 | bool | 是 | - | - |
{"field": "a,b,c", "status": "500"}{"field": "a,b,c", "status": "200"}
log_drop(op_eq(v("status"), 200))
{"field":"a,b,c","status":"500"}
log_keep(条件1)
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
condition | 返回值为 bool 类型的函数表达式 | bool | 是 | - | - |
{"field": "a,b,c", "status": "500"}{"field": "a,b,c", "status": "200"}
log_keep(op_eq(v("status"), 500))
{"field":"a,b,c","status":"500"}
log_split_jsonarray_jmes("field", jmes="items", prefix="")
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
field | 待提取的字段名 | string | 是 | - | - |
{"common":"common","result":"{\\"target\\":[{\\"a\\":\\"a\\"},{\\"b\\":\\"b\\"}]}"}
log_split_jsonarray_jmes("result",jmes="target")fields_drop("result")
{"common":"common", "a":"a"}{"common":"common", "b":"b"}
{"common":"common","target":"[{\\"a\\":\\"a\\"},{\\"b\\":\\"b\\"}]"}
log_split_jsonarray_jmes("target",prefix="prefix_")fields_drop("target")
{"prefix_a":"a", "common":"common"}{"prefix_b":"b", "common":"common"}
本页内容是否解决了您的问题?