流程控制函数
更新时间:2025-10-15
流程控制
简介
流程控制的逻辑在常用的编程语言和DSL函数中是一样的,用于控制语句的执行。
e_compose 函数
函数定义
组合操作函数,类似于分支代码块的组合能力,可以组合多个操作函数,并按顺序执行,可以结合分支、输出函数使用。 语法描述
语法描述
Text
1e_compose(函数1,函数2, ...)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
---|---|---|---|---|---|
函数1,2,... | 参数必须为返回类型为 LOG 的函数 | String | 至少一个函数参数,可变参数,最多为100个 | - | - |
示例
- 示例1
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_compose(e_set("new", 1))
加工结果:
Text
1{"new": 1, "status": "500"}
- 示例2
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_compose(e_set("new1", "n1"), e_set("new2", "n2"))
加工结果:
Text
1{"new1": "n1", "new2": "n2", "status": "500"}
e_if 函数
函数定义
对符合条件的日志,进行相应的函数处理,否则不进行任何处理。
语法描述
Text
1e_if(条件, 函数)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
---|---|---|---|---|---|
条件 | 返回值为 BOOL 类型的函数表达式 | Bool | 是 | - | - |
函数 | 参数必须为返回类型为 LOG 的函数 | String | 是 | - | - |
示例
- 示例1
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_if(true, e_set("new", "n"))
加工结果:
Text
1{"new": "n", "status":"500"}
- 示例2
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_if(false, e_set("new", "n"))
加工结果:
Text
1{"status": "500"}
- 示例3
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_if(v("status") == "500", e_set("new", "n"))
加工结果:
Text
1{"new": "n", "status":"500"}
e_if_else 函数
函数定义
对符合条件的日志,进行相应的函数处理,否则不进行任何处理。
语法描述
Text
1e_if_else(条件, 函数1, 函数2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
---|---|---|---|---|---|
条件 | 返回值为 BOOL 类型的函数表达式 | Bool | 是 | - | - |
函数1 | 参数必须为返回类型为 LOG 的函数 | String | 是 | - | - |
函数1 | 参数必须为返回类型为 LOG 的函数 | String | 是 | - | - |
示例
- 示例1
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_if_else(true, e_set("new", "n1"), e_set("new", "n2"))
加工结果:
Text
1{"new": "n1", "status":"500"}
- 示例2
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_if_else(false, e_set("new", "n1"), e_set("new", "n2"))
加工结果:
Text
1{"new": "n2", "status":"500"}
e_switch 函数
函数定义
对符合条件的日志,进行相应的函数处理,否则不进行任何处理。
语法描述
Text
1e_switch(条件1, 函数1, 条件2, 函数2, ..., default=None)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
---|---|---|---|---|---|
条件1,2,... | 返回值为 BOOL 类型的函数表达式 | Bool | 至少一个参数,可变参数,最多为50个 | - | - |
函数1,2,... | 参数必须为返回类型为 LOG 的函数 | String | 至少一个参数,可变参数,最多为50个 | - | - |
default | 参数必须为返回类型为 LOG 的函数,没有条件满足时执行该操作。 | String | 否 | - | - |
示例
- 示例1
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_switch(true, e_set("new", "n"))
加工结果:
Text
1{"new": "n", "status":"500"}
- 示例2
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_switch(false, e_set("new", "n1"), true, e_set("new", "n2"))
加工结果:
Text
1{"new": "n2", "status":"500"}
- 示例3
原始日志:
Text
1{"status": "500"}
加工规则:
Text
1e_switch(v('status') == '400'), e_set("new", "n1"), default=e_set("new", "n2"))
加工结果:
Text
1{"new": "n2", "status":"500"}