我正试图使用logstash从下一行提取一个模式(第85行(,并将变量中的数字作为浮点值。
[JaCoCo plugin] Overall coverage: class: 36, method: 65, line: 85, branch: 76, instruction: 81
logstash过滤器如下:
filter {
grok {
match => ["message", "(?<TotalUnitTCCoveragePercent>line: d+)"]
}
mutate {
gsub => [
"TotalUnitTCCoveragePercent", "line: ", ""
]
convert => {
"TotalUnitTCCoveragePercent" => "float"
}
}
}
我能够提取字符串";行:85〃;然后将该值作为字符串。但是转换部分它enter code here
不工作。在执行流水线之后;TotalUnitTC覆盖百分比"=>0而不是浮点值。我错过什么了吗?如有任何帮助,我们将不胜感激。
根据mutate filter文档,转换步骤在gsub步骤之前完成,因此转换步骤在line: 85
上完成,但失败。
最简单的解决方案是通过使用以下grok模式来避免使用gsub步骤:line: %{NUMBER:TotalUnitTCCoveragePercent}
。TotalUnitTCCoveragePercent
中有85
,因此gsub步骤是不必要的。