日志服务 逻辑和数学函数

逻辑与数学函数,包含了与或非、大于小于等于、加减乘除取模的运算。写起来和我们在程序语言中稍有区别:
。

相关产品
日志服务 产品页,含版本规格、价格与购买入口。

三、函数定义

根据条件判断,返回相应的值。

四、语法描述

op_if(条件1, 值1, 值2)

五、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
condition 条件表达式 bool 是 – –
data1 条件为 True 时,返回此参数值 string 是 – –
data2 条件为 False 时,返回此参数值 string 是 – –

六、示例

·示例1

原始日志:

{"data": "abc"}

加工规则:

fields_set("result", op_if(True, v("data"), "false"))

加工结果:

{"result":"abc","data":"abc"}

·示例2

原始日志:

{"data": "abc"}

加工规则:

fields_set("result", op_if(False, v("data"), "123"))

加工结果:

{"result":"123","data":"abc"}

八、函数定义

对值进行 and 运算,均为 True 时,返回 True,否则返回 False。

九、语法描述

op_and(值1, 值2, …)

十、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
可变参列表 参与计算的参数或表达式 string 是 – –

十一、示例

·示例1

原始日志:

{}

加工规则:

fields_set("result", op_and(True, False))

加工结果:

{"result":"false"}

·示例2

原始日志:

{}

加工规则:

fields_set("result", op_and(1, 1))

加工结果:

{"result":"true"}

·示例3

原始日志:

{"data":"false"}

加工规则:

fields_set("result", op_and(1, v("data")))

加工结果:

{"result":"false","data":"false"}

十三、函数定义

若存在参数值为 True,则返回 True;仅当所有参数值均为 False 时,才返回 False。

十四、语法描述

op_or(值1, 值2, …)

十五、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
可变参列表 参与计算的参数或表达式 string 是 – –

十六、示例

原始日志:

{}

加工规则:

fields_set("result", op_or(True, False))

加工结果:

{"result":"true"}

十八、函数定义

对值进行 not 运算。

十九、语法描述

op_not(值)

20、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data 任意类型的值 any 是 – –

21、示例

·示例1

原始日志:

{}

加工规则:

fields_set("result", op_not(True))

加工结果:

{"result":"false"}

·示例2

原始日志:

{}

加工规则:

fields_set("result", op_not("True"))

加工结果:

{"result":"false"}

23、函数定义

对值进行比较,相等则返回 True。

24、语法描述

op_eq(值1, 值2)

25、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

26、示例

·示例1:判断字段 "Post" 和 "Get" 的值是否相等。

原始日志:

{"Post": "10", "Get": "11"}

加工规则:

fields_set("result", op_eq(v("Post"), v("Get")))

将结果保存到 result。

加工结果:

{"result":"false","Post":"10","Get":"11"}

·示例2:判断字段 "field1" 和 "field2" 的值是否相等。

原始日志:

{"field1": "1", "field2": "1"}

加工规则:

fields_set("result", op_eq(v("field1"), v("field2")))

加工结果:

{"result":"true","field1":"1","field2":"1"}

28、函数定义

对值进行比较,值1大于或等于值2时返回 True。

29、语法描述

op_ge(值1, 值2)

30、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

31、示例

·示例1

原始日志:

{"field1": "20", "field2": "9"}

加工规则:

fields_set("result", op_ge(v("field1"), v("field2")))

加工结果:

{"result":"true","field1":"20","field2":"9"}

·示例2

原始日志:

{"field1": "2", "field2": "2"}

加工规则:

fields_set("result", op_ge(v("field1"), v("field2")))

加工结果:

{"result":"true","field1":"2","field2":"2"}

33、函数定义

对值进行比较,值1大于值2时返回 True。

34、语法描述

op_gt(值1, 值2)

35、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

36、示例

原始日志:

{"field1": "20", "field2": "9"}

加工规则:

fields_set("result", op_gt(v("field1"), v("field2")))

加工结果:

{"result":"true","field1":"20","field2":"9"}

38、函数定义

对值进行比较,值1小于或等于值2时返回 True。

39、语法描述

op_le(值1, 值2)

40、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

41、示例

原始日志:

{"field1": "2", "field2": "2"}

加工规则:

fields_set("result", op_le(v("field1"), v("field2")))

加工结果:

{"result":"true","field1":"2","field2":"2"}

43、函数定义

对值进行比较,值1小于值2时返回 True。

44、语法描述

op_lt(值1, 值2)

45、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

46、示例

原始日志:

{"field1": "2", "field2": "3"}

加工规则:

fields_set("result", op_lt(v("field1"), v("field2")))

加工结果:

{"result":"true","field1":"2","field2":"3"}

48、函数定义

对值进行求和运算。

49、语法描述

op_add(值1, 值2)

50、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

51、示例

原始日志:

{"field1": "1", "field2": "2"}

加工规则:

fields_set("result", op_add(v("field1"), v("field2")))

加工结果:

{"result":"3","field1":"1","field2":"2"}

53、函数定义

对值进行求差运算。

54、语法描述

op_sub(值1, 值2)

55、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

56、示例

原始日志:

{"field1": "1", "field2": "2"}

加工规则:

fields_set("result", op_sub(v("field1"), v("field2")))

加工结果:

{"result":"-1","field1":"1","field2":"2"}

58、函数定义

对值进行乘积运算。

59、语法描述

op_mul(值1, 值2)

60、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

61、示例

原始日志:

{"field1": "1", "field2": "2"}

加工规则:

fields_set("result", op_mul(v("field1"), v("field2")))

加工结果:

{"result":"2","field1":"1","field2":"2"}

63、函数定义

对值进行除法运算。

64、语法描述

op_div(值1, 值2)

65、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

66、示例

·示例1

原始日志:

{"field1": "1", "field2": "2"}

加工规则:

fields_set("result", op_div(v("field1"), v("field2")))

加工结果:

{"result":"0","field1":"1","field2":"2"}

·示例2

原始日志:

{"field1": "1.0", "field2": "2"}

加工规则:

fields_set("result", op_div(v("field1"), v("field2")))

加工结果:

{"result":"0.5","field1":"1.0","field2":"2"}

68、函数定义

对多值累加求和。

69、语法描述

op_sum(值1, 值2, …)

70、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
可变参列表 数值类型的值或可转为数值的字符串 string 是 – –

71、示例

原始日志:

{"field1": "1.0", "field2": "10"}

加工规则:

fields_set("result", op_sum(v("field1"), v("field2")))

加工结果:

{"result":"11.0","field1":"1.0","field2":"10"}

73、函数定义

对值进行模计算。

74、语法描述

op_mod(值1, 值2)

75、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

76、示例

·示例1

原始日志:

{ "field1": "3", "field2": "2"}

加工规则:

fields_set("result", op_mod(v("field1"), v("field2")))

加工结果:

{"field1":"3","field2":"2","result":"1"}

·示例2

原始日志:

{"field1": "1.0", "field2": "5"}

加工规则:

fields_set("result", op_mod(v("field1"), v("field2")))

加工结果:

{"result":"1.0","field1":"1.0","field2":"5"}

·示例3

原始日志:

{"field1": "6", "field2": "4"}

加工规则:

fields_set("result", op_mod(v("field1"), v("field2")))

加工结果:

{"result":"2","field1":"6","field2":"4"}

78、函数定义

对值进行是否为 null 判断,是则返回 true,否则返回 false。

79、语法描述

op_null(值)

80、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data 任意类型的值 any 是 – –

81、示例

·示例1

原始日志:

{}

加工规则:

fields_set("result", op_null("null"))

加工结果:

{"result":"true"}

·示例2

原始日志:

{"data": null}

加工规则:

fields_set("result", op_null(v("data")))

加工结果:

{"data": "null", "result":"true"}

83、函数定义

对值进行是否为非 null 判断,是则返回 true,否则返回 false。

84、语法描述

op_notnull(值)

85、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data 任意类型的值 any 是 – –

86、示例

·示例1

原始日志:

{}

加工规则:

fields_set("result", op_notnull("null"))

加工结果:

{"result":"false"}

·示例2

原始日志:

{"data": null}

加工规则:

fields_set("result", op_notnull(v("data")))

加工结果:

{"data": "null", "result":"false"}

88、函数定义

对字符串值进行比较,相等则返回 true。

89、语法描述

op_str_eq(值1, 值2, ignore_upper=False)

90、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 字符串类型的值 string 是 – –
data2 字符串类型的值 string 是 – –
ignore_upper 是否区分大小写 bool 否 False –

91、示例

·示例1

原始日志:

{"field": "cls"}

加工规则:

fields_set("result", op_str_eq(v("field"), "cls"))

加工结果:

{"result":"true","field":"cls"}

·示例2

原始日志:

{"field": "cls"}

加工规则:

fields_set("result", op_str_eq(v("field"), "etl|cls|data"))

加工结果:

{"result":"true","field":"cls"}

·示例3

原始日志:

{"field": "CLS"}

加工规则:

fields_set("result", op_str_eq(v("field"), "cls", ignore_upper=True))

加工结果:

{"result":"true","field":"CLS"}

·示例4

原始日志:

{"field": "CLS"}

加工规则:

fields_set("result", op_str_eq(v("field"), "etl|cls|data", ignore_upper=True))

加工结果:

{"result":"true","field":"CLS"}

93、函数定义

生成随机数(两个参数之间的一个随机数),左闭右闭。

94、语法描述

random(值1, 值2)

95、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data1 数值类型的值或可转为数值的字符串 number 是 – –
data2 数值类型的值或可转为数值的字符串 number 是 – –

96、示例

·示例1

原始日志:

{"field1": "1"}

加工规则:

log_keep(op_eq(random(3, 5), 4))

加工结果:

{"field1": "1"}

·示例2

原始日志:

{"field1": "1"}

加工规则:

fields_set("field2", random(1, 5))

加工结果:

{"field1":"1", "field2":"4"}

98、函数定义

计算文本字符串中的字符数,可用于字符串和其他返回元组、列表、字典的表达式。

99、语法描述

op_len(value)

100、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
value – 字符串、元组、列表或字典等 是 – –

101、示例

原始日志:

{"data":"[1,2]"}

加工规则:

fields_set("length", op_len(v("data")))

加工结果:

{"length":"2","data":"[1,2]"}

103、函数定义

按照 a!=b 条件进行计算,返回 True 或 False。

104、语法描述

op_ne(value1, value2)

105、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
value1 被对比的值 数值类型的值或可转为数值的字符串 是 – –
value2 对比 value1 数值类型的值或可转为数值的字符串 是 – –

106、示例

原始日志:

{"data1": "1","data2": "2"}

加工规则:

fields_set("result", op_ne(v("data1"), v("data2")))

加工结果:

{"result":"true","data1": "1","data2": "2"}

赞 (0)
上一篇 4天前
下一篇 4天前