Better duration formatting in logs
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user