navidrome/log/formatters.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

30 lines
522 B
Go
Raw Normal View History

2021-02-03 19:04:20 +01:00
package log
import (
"strings"
"time"
)
func ShortDur(d time.Duration) string {
var s string
switch {
case d > time.Hour:
s = d.Round(time.Minute).String()
case d > time.Minute:
s = d.Round(time.Second).String()
case d > time.Second:
s = d.Round(10 * time.Millisecond).String()
case d > time.Millisecond:
s = d.Round(100 * time.Microsecond).String()
default:
s = d.String()
}
if strings.HasSuffix(s, "m0s") {
s = s[:len(s)-2]
}
if strings.HasSuffix(s, "h0m") {
s = s[:len(s)-2]
}
return s
}