处理包含嵌套JSON和混合格式的复杂日志需要组合使用多个SPL指令。以一条包含JSON字符串Payload、混合格式error字段和URL路径的日志为例:首先用project选择需要处理的字段。然后用parse-json Payload将JSON字符串展开为一级字段(如project、schedule等),再用project-away Payload移除原始字段。对于error字段中"CouldNotExecuteQuery : {JSON}"这种前缀+JSON的混合格式,先用parse-regexp通过正则捕获JSON部分到errorJson字段,再用parse-json errorJson展开得到httpCode、errorCode等字段。对于嵌套JSON(如Payload内的schedule对象),使用extend scheduleType = json_extract_scalar(schedule, '$.type')提取深层字段。路径类字段用正则提取关键信息,如parse-regexp "__tag__:__path__", '\/var\/log\/([\w\_]+).LOG' as serviceName。最后用project保留最终需要的字段列表。
加载中...