mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-15 00:13:30 +01:00
faf788b4a6
We have failed test on master branch. ``` --- FAIL: TestFormatLogMessage (0.00s) logger_test.go:24: unexpected result; got "foo: abcde, \"foo bar baz\", xx" want "foo: a..e, \"f..z\", xx" ``` if failed because maxArgs maxLen <= 4 in the `LimitStringLen` in that case we always will return the income string but in the test we limit the maxLen by value 4 ``` f("foo: %s, %q, %s", []interface{}{"abcde", fmt.Errorf("foo bar baz"), "xx"}, 4, `foo: a..e, "f..z", xx`)
17 lines
402 B
Go
17 lines
402 B
Go
package stringsutil
|
|
|
|
// LimitStringLen limits the length of s with maxLen.
|
|
//
|
|
// If len(s) > maxLen, then s is replaced with "s_prefix..s_suffix",
|
|
// so the total length of the returned string doesn't exceed maxLen.
|
|
func LimitStringLen(s string, maxLen int) string {
|
|
if len(s) <= maxLen || maxLen < 4 {
|
|
return s
|
|
}
|
|
n := (maxLen / 2) - 1
|
|
if n < 0 {
|
|
n = 0
|
|
}
|
|
return s[:n] + ".." + s[len(s)-n:]
|
|
}
|