更新时间:2024-08-02 GMT+08:00
场景六:使用e_if函数或e_switch函数判断日志并增加字段
推荐使用e_if函数或e_switch函数进行日志判断。更多信息,请参见流程控制函数。
- e_if函数
e_if(条件1, 操作1, 条件2, 操作2, 条件3, 操作3, ....)
- e_switch函数
e_switch函数是条件与操作的配对组合。依次根据条件进行判断,满足条件的进行对应操作。不满足条件的不进行对应操作,直接进行下一个条件判断。如果没有满足任一条件并且配置了default参数,则执行default配置的操作并返回。
e_switch(条件1, 操作1, 条件2, 操作2, 条件3, 操作3, ...., default=None)
示例如下所示:
- 原始日志
{ "status1":200, "status2":404 }
- e_if函数
- 加工规则
e_if(e_match("status1", "200"), e_set("status1_info", "normal"), e_match("status2", "404"), e_set("status2_info", "error"))
- 加工结果
{ "status1": 200, "status2_info": "error", "status1_info": "normal", "status2": 404 }
- 加工规则
- e_switch函数
- 加工规则
e_switch(e_match("status1", "200"), e_set("status1_info", "normal"), e_match("status2", "404"), e_set("status2_info", "error"))
- 加工结果:只要有一个条件满足,就返回结果,不再进行后续条件判断。
{ "status1": 200, "status2_info": "error", "status1_info": "normal", "status2": 404 }
- 加工规则
父主题: 使用DSL加工函数清洗LTS日志数据