User-Agent 解析函数会剔除解析结果为 None 的字段,例如解析的设备数据为{'city': None, 'level': 'info', 'error': None}
,则 city
字段和 error
字段将被剔除,最终的解析结果为 {'level': 'info'}
。
解析 User-Agent 中的设备信息。
ua_parse_device(value=UA字符串)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value | String | 是 | / | / | 待解析的 User-Agent 字符串。 |
场景:提取日志 User-Agent
字段中的 device 信息。
加工规则:
f_set("device",ua_parse_device(v("ua")))
日志样例:
{ "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" }
加工结果:
{ "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "device": { "family": "Mac", "brand": "Apple", "model": "Mac" } }
解析 User-Agent 中的操作系统信息。
ua_parse_os(value=UA字符串)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value | String | 是 | / | / | 待解析的 User-Agent 字符串。 |
场景:提取日志 User-Agent
字段中的操作系统信息。
加工规则:
f_set("os",ua_parse_os(v("ua")))
日志样例:
{ "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" }
加工结果:
{ "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "os": { "family": "Mac OS X", "major": "10", "minor": "15", "patch": "7" } }
解析 User-Agent 字符串中的浏览器信息。
ua_parse_agent(value=UA字符串)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value | String | 是 | / | / | 待解析的 User-Agent 字符串。 |
场景:提取日志 User-Agent
字段中的 agent 信息。
加工规则:
f_set("agent",ua_parse_agent(v("ua")))
日志样例:
{ "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" }
加工结果:
{ "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "agent": { "family": "Chrome", "major": "115", "minor": "0", "patch": "0" } }