本文档主要介绍字段赋值函数的语法规则,包括参数解释、函数示例等。

e_set

通过字段赋值函数可以给事件设置新的字段值。
  • 函数格式
    e_set(字段名1, 值1, 字段名2, 值2, ...., mode="overwrite")
    说明
    • 函数中字段必须成对出现。
    • 通过e_set设置时间字段F_TIME__time__修改日志时间时,一定要设置一个数字字符串。
      e_set(F_TIME, "abc")   # 错误
      e_set(F_TIME, "12345678")   # 正确
  • 参数说明
    参数 参数类型 是否必填 说明
    字段名 String 目标字段名,可以是返回字符串的表达式 。特殊字段名的设置请参见事件类型
    任意 新的字段值。非字符串都转化成字符串放入事件中,其中元组、列表、字典会转换成JSON对象的字符串。 关于字符串转换请参见赋值自动转换
    说明 如果传递的值是None,则不会进行更新操作。
    mode String 字段的覆盖模式。默认为overwrite。更多字段值含义请参见字段提取检查与覆盖模式
  • 返回结果

    返回更新后的事件。

  • 函数示例
    • 示例1:设置固定值。
      添加一个新字段city,字段的值为上海
      e_set("city", "上海")
    • 示例2:复制字段值。
      调用单个表达式函数,将现有字段ret的值,赋给新字段result
      e_set("result", v("ret"))
    • 示例3:动态设置值。
      调用组合表达式函数,获取第一个存在的字段的值,返回其小写格式并赋值给字段result
      e_set("result", str_lower(v("ret", "return")))
    • 示例4:多次设置字段值。
      1. 设置字段event_type的默认值。
        e_set("event_type", "login event")
      2. 判断字段ret的值为fail,然后将字段event_type的值设置为login failed event
        e_if(e_search('ret==fail'), e_set("event_type", "login failed event" )