如何用Dynatrace查询语言提取LogRecord.Severity并显示为列?
修复LogRecord.Severity提取列值为空的问题
你的parse语句语法错误,导致无法正确匹配目标字段,以下是可行的解决方法:
方法一:修正parse语句格式
使用标准的parse语法,明确匹配LogRecord.Severity:后的内容:
parse content with * "LogRecord.Severity: " severity
如果需要指定数据类型(比如字符串),可以补充类型声明:
parse content with * "LogRecord.Severity: " severity:string
方法二:使用extract函数(正则匹配)
如果parse语法不好调试,直接用正则提取更直观:
extract(@"LogRecord.Severity:\s*(.*)", 1, content) as severity
这个正则会忽略LogRecord.Severity:后的任意空白字符,精准捕获后面的 severity 值。
错误原因说明
你原语句parse content "('LogRecord.Severity:'LD:severity)"的语法不符合日志查询语言的parse规则:括号和引号的嵌套使用错误,且LD(字面量匹配)的用法不规范,导致查询引擎无法识别匹配逻辑,最终返回空值。
内容的提问来源于stack exchange,提问作者Leo2304
相关产品推荐
相关产品推荐

