Better duration formatting in logs

This commit is contained in:
Deluan
2021-02-03 13:04:20 -05:00
parent 9668263235
commit 618d5fc81f
3 changed files with 71 additions and 2 deletions
+29
View File
@@ -0,0 +1,29 @@
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
}