文档首页/ 云日志服务 LTS/ 最佳实践/ 日志加工(邀测)/ 使用DSL加工函数清洗LTS日志数据/ 场景六:使用e_if函数或e_switch函数判断日志并增加字段
更新时间: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
      }

相关文档