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

函数列表

函数 说明
e_drop_fields 删除符合条件的日志字段。
e_keep_fields 保留符合条件的日志字段。
e_rename 重命名符合条件的日志字段。

e_drop_fields

您可以使用e_drop_fields函数删除符合条件的日志字段。

  • 函数格式
    e_drop_fields(字段1, 字段2, ....,regex=False)
  • 参数说明
    参数 类型 是否必填 说明
    字段 String 日志字段名,可以为正则表达式。当字段名完全满足条件时删除该字段,保留不满足条件的字段。关于正则表达式的更多信息,请参见正则表达式

    至少需要配置一个日志字段。

    regex Boolean 如果设置为False,表示不使用正则表达式进行匹配。当不配置该参数时,系统默认取值为True。
  • 函数示例:如果content字段的值是123,则删除contentage字段。
    • 原始日志
      age:  18
      content:  123
      name: twiss
    • 加工规则
      e_if(e_search("content==123"), e_drop_fields("content", "age",regex=True)
    • 加工结果
      name: twiss

e_keep_fields

您可以使用e_keep_fields函数保留符合条件的日志字段。
说明 日志服务中包含内置的元字段(__time____topic__等)。如果在调用e_keep_fields函数时没有保留__time__字段,则事件时间将被重置为当前时间。如果您不希望重置元字段的值,需要将元字段放入列表中,常见格式为F_TIME, F_META, F_TAGS, "f1", "f2"。更多信息,请参见固定标示
  • 函数格式
    e_keep_fields(字段1, 字段2, ....,regex=False)
  • 参数说明
    参数 参数类型 是否必填 说明
    字段 String 日志字段名,可以为正则表达式。当字段名完全满足条件时保留该字段,删除不满足条件的字段。

    至少需要配置一个字段。

    regex Boolean 如果设置为False,表示不使用正则表达式进行匹配。当不配置该参数时,系统默认取值为True。
  • 函数示例:如果content字段的值是123,则保留contentage字段。
    • 原始日志
      age:  18
      content:  123
      name: twiss
    • 加工规则
      e_if(e_search("content==123"), e_keep_fields("content", "age"))
    • 加工结果
      age:  18
      content:  123

e_rename

您可以使用e_rename函数重命名符合条件的日志字段。

  • 函数格式
    e_rename("字段1", "新字段1", "字段2", "新字段2", ..., regex=False)
    说明 函数中字段新字段必须成对出现。
  • 参数说明
    参数 参数类型 是否必填 说明
    字段 String 日志字段名,可以为正则表达式。当字段名完全满足条件时,重命名该字段。关于正则表达式的更多信息,请参见正则表达式

    至少需要配置一个字段。

    新字段 String 重命名后的字段名。
    regex Boolean 如果设置为False,表示不使用正则表达式进行匹配。当不配置该参数时,系统默认取值为True。
  • 返回结果

    返回重命名后的字段。

  • 函数示例
    • 示例1
      • 原始日志
        host:  1006
      • 加工规则
        e_rename("host","client_host")
      • 加工结果
        client_host:  1006
    • 示例2
      • 原始日志
        host:  1006
      • 加工规则
        e_rename("url","rename_url")
      • 加工结果
        host:  1006