fix traefik level template: capture first digit, avoid printf

This commit is contained in:
Alexander Rogov
2026-06-26 20:30:03 +03:00
parent 7764e306bf
commit c656c535f2

View File

@@ -91,12 +91,12 @@ spec:
selector = "{service=\"traefik\"}" selector = "{service=\"traefik\"}"
stage.regex { stage.regex {
expression = `\"\w+ .+ HTTP/[\d.]+\" (?P<status_code>[0-9]{3}) ` expression = `\"\w+ .+ HTTP/[\d.]+\" (?P<status_class>[0-9])[0-9]{2} `
} }
stage.template { stage.template {
source = "level" source = "level"
template = `{{ if eq (printf "%.1s" .status_code) "5" }}error{{ else if eq (printf "%.1s" .status_code) "4" }}warn{{ else }}info{{ end }}` template = `{{ if eq .status_class "5" }}error{{ else if eq .status_class "4" }}warn{{ else }}info{{ end }}`
} }
stage.labels { stage.labels {