在日志加工中,您可以使用e_set函数为日志空缺字段赋值。
场景1:原字段不存在或者为空时,为字段赋值
函数:
e_set("result", "......value......", mode="fill")
mode参数取值见下表:
参数值 | 说明 |
---|---|
fill | 当目标字段不存在或者值为空时,设置目标字段。 |
fill-auto | 当新值非空,且目标字段不存在或者值为空时,设置目标字段。 |
add | 当目标字段不存在时,设置目标字段。 |
add-auto | 当新值非空,且目标字段不存在时,设置目标字段。 |
overwrite | 总是设置目标字段。 |
overwrite-auto | 当新值非空,设置目标字段。 |
示例:
- 原始日志
name:
- 加工规则
e_set("name", "aspara2.0", mode="fill")
- 加工结果
name: aspara2.0
场景2:为多个字段赋值
函数:
e_set("k1", "v1", "k2", "v2", "k3", "v3", ......)
示例:
- 原始日志
__source__: 192.168.0.1 __topic__: __tag__: __receive_time__: id: 7990 test_string: <function test1 at 0x1020401e0>
- 加工规则
则 为__topic__字段、__tag__字段和__receive_time__字段赋值。e_set("__topic__","app", "__tag__","stu","__receive_time__","1597214851")
- 加工结果
__source__: 192.168.0.1 __topic__: app __tag__: stu __receive_time__: 1597214851 id: 7990 test_string: <function test1 at 0x1020401e0>