compose(函数1,函数2, ...)
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
可变参,函数 | 参数必须为返回类型为 LOG 的函数 | string | 至少一个函数参数 | - | - |
{"status": "500"}
//1. enrich函数:使用dict中的数据,对原始日志进行富化,status字段值为500,富化出新字段message,值为Failed。//2. fields_Set函数,新增一个字段new,赋值1。compose(enrich_dict("{\\"200\\":\\"SUCCESS\\",\\"500\\":\\"FAILED\\"}", "status", output="message"), fields_set("new", 1))
//最后结果是三个字段,如下:{"new":"1","message":"FAILED","status":"500"}
{"status": "500"}
compose(fields_set("new", 1))
{"new":"1","status":"500"}
{"condition1": 0,"condition2": 1, "status": "500"}
t_if_else(v("condition2"), compose(fields_set("new", 1),log_output("target")), log_output("target2"))
{"new":"1","condition1":"0","condition2":"1","status":"500"}
t_if(条件1, 函数1)
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
condition | 返回值为 bool 类型的函数表达式 | bool | 是 | - | - |
function | 返回值为 LOG 类型的函数表达式 | string | 是 | - | - |
{"condition": 1, "status": "500"}
t_if(True, fields_set("new", 1))
{"new":"1","condition":"1","status":"500"}
//如果 condition 字段的值为真,新增一个字段 new 并赋值1。{"condition": 1, "status": "500"}
t_if(v("condition"), fields_set("new", 1))
{"new":"1","condition":"1","status":"500"}
t_if_not(条件1, 函数1)
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
condition | 返回值为 bool 类型的函数表达式 | bool | 是 | - | - |
function | 返回值为 LOG 类型的函数表达式 | string | 是 | - | - |
{"condition": 0, "status": "500"}
t_if_not(v("condition"), fields_set("new", 1))
{"new":"1","condition":"0","status":"500"}
t_if_else(条件1, 函数1, 函数2)
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
condition | 返回值为 bool 类型的函数表达式 | bool | 是 | - | - |
function | 返回值为 LOG 类型的函数表达式 | string | 是 | - | - |
function | 返回值为 LOG 类型的函数表达式 | string | 是 | - | - |
{"condition": 1, "status": "500"}
t_if_else(v("condition"), fields_set("new", 1), fields_set("new", 2))
{"new":"1","condition":"1","status":"500"}
t_switch(条件1, 函数1, 条件2, 函数2, ...)
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
可变参,交替的条件和函数表达式作为参数 | - | - | - | - |
{"condition1": 0,"condition2": 1, "status": "500"}
//condition1字段值为真时,新增字段new并赋值1,由于此处字段值返回假,因此不会新增"new":"1",第二个条件返回真,所以新增了"new":"2"t_switch(v("condition1"), fields_set("new", 1), v("condition2"), fields_set("new", 2))
{"new":"2","condition1":"0","condition2":"1","status":"500"}
本页内容是否解决了您的问题?