debug: Auto-shorten IDs passed as parameters

This commit is contained in:
Alexander Neumann 2018-01-25 20:49:26 +01:00
parent d6212ee2d9
commit ed99f53786
2 changed files with 14 additions and 3 deletions

View File

@ -180,6 +180,16 @@ func Log(f string, args ...interface{}) {
f += "\n"
}
type Shortener interface {
Str() string
}
for i, item := range args {
if shortener, ok := item.(Shortener); ok {
args[i] = shortener.Str()
}
}
pos := fmt.Sprintf("%s/%s:%d", dir, file, line)
formatString := fmt.Sprintf("%s\t%s\t%d\t%s", pos, fn, goroutine, f)
@ -192,7 +202,8 @@ func Log(f string, args ...interface{}) {
opts.logger.Printf(formatString, args...)
}
if checkFilter(opts.files, fmt.Sprintf("%s/%s:%d", dir, file, line)) {
filename := fmt.Sprintf("%s/%s:%d", dir, file, line)
if checkFilter(opts.files, filename) {
dbgprint()
return
}

View File

@ -19,7 +19,7 @@ func BenchmarkLogIDStr(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
debug.Log("id: %v", id.Str())
debug.Log("id: %v", id)
}
}
@ -29,6 +29,6 @@ func BenchmarkLogIDString(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
debug.Log("id: %v", id.String())
debug.Log("id: %s", id)
}
}