字段操作函数
更新时间:2025-10-15
字段操作函数
简介
字段操作函数,日志中的字段进行处理,包括取值、增删查改等。
v 函数
函数定义
获取字段值,返回对应字符串。
语法描述
Text
1v(field)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
---|---|---|---|---|---|
field | 字段名 | String | 是 | - | - |
示例
- 示例1
原始日志:
Text
1{"message": "failed", "status": "500"}
加工规则:
Text
1e_set("new_message", v("message"))
加工结果:
Text
1{"message": "failed", "new_message": "failed","status": "500"}
e_set 函数
函数定义
用来设置字段值,或者增加新字段。
语法描述
Text
1e_set(key1, value1, key2, value2, ... , mode="overwrite")
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
---|---|---|---|---|---|
key | 目标字段名 | String | 是 | - | - |
value | 新的字段值 | Any | 是 | - | - |
mode | 字段的覆盖模式。默认为overwrite | String | 否 | overwrite | fill/fill-auto/add/add-auto/overwrite/overwrite-auto |
示例
- 示例1
原始日志:
Text
1{"level": "Info"}
加工规则:
Text
1e_set("new_level", "Warning")
加工结果:
Text
1{"level": "Info", "new_level": "Warning"}
- 示例2
原始日志:
Text
1{"level": "Info"}
加工规则:
Text
1e_set("level", "Warning")
加工结果:
Text
1{"level": "Warning"}
- 示例3
原始日志:
Text
1{"level": "Info"}
加工规则:
Text
1e_set("new1", "Warning", "new2", "Debug")
加工结果:
Text
1{"level": "Info", "new1": "Warning", "new2": "Debug"}
e_drop_fields 函数
函数定义
根据字段名进行匹配,删除匹配到的字段。
语法描述
Text
1e_drop_fields(key1, key2, ... )
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
---|---|---|---|---|---|
key | 字段名 | String | 是 | - | - |
示例
- 示例1
原始日志:
Text
1{"level": "Info", "status": "500"}
加工规则:
Text
1e_drop_fields("status")
加工结果:
Text
1{"level": "Info"}
- 示例2
原始日志:
Text
1{"level": "Info", "status": "500", "code": 200}
加工规则:
Text
1e_drop_fields("status", "level")
加工结果:
Text
1{"code": 200}
e_rename 函数
函数定义
字段重命名。
语法描述
Text
1e_rename("key1", "new key1", "key2", "new key2", ...)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
---|---|---|---|---|---|
key | 字段名 | String | 是 | - | - |
new key | 重命名后的字段名 | String | 是 | - | - |
示例
- 示例1
原始日志:
Text
1{"level": "Info", "status": "500"}
加工规则:
Text
1e_rename("level", "new_level")
加工结果:
Text
1{"new_level": "Info", "status": "500"}
- 示例2
原始日志:
Text
1{"level": "Info", "status": "500"}
加工规则:
Text
1e_rename("level", "new_level", "status", "new_status")
加工结果:
Text
1{"new_level": "Info", "new_status": "500"}