diff options
Diffstat (limited to 'vendor/github.com/keybase/go-keybase-chat-bot/kbchat/util.go')
-rw-r--r-- | vendor/github.com/keybase/go-keybase-chat-bot/kbchat/util.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/github.com/keybase/go-keybase-chat-bot/kbchat/util.go b/vendor/github.com/keybase/go-keybase-chat-bot/kbchat/util.go new file mode 100644 index 00000000..91cf5e33 --- /dev/null +++ b/vendor/github.com/keybase/go-keybase-chat-bot/kbchat/util.go @@ -0,0 +1,38 @@ +package kbchat + +import ( + "fmt" + "log" + "time" +) + +func ErrToOK(err *error) string { + if err == nil || *err == nil { + return "ok" + } + return fmt.Sprintf("ERROR: %v", *err) +} + +type DebugOutput struct { + name string +} + +func NewDebugOutput(name string) *DebugOutput { + return &DebugOutput{ + name: name, + } +} + +func (d *DebugOutput) Debug(format string, args ...interface{}) { + msg := fmt.Sprintf(format, args...) + log.Printf("%s: %s\n", d.name, msg) +} + +func (d *DebugOutput) Trace(err *error, format string, args ...interface{}) func() { + msg := fmt.Sprintf(format, args...) + start := time.Now() + log.Printf("+ %s: %s\n", d.name, msg) + return func() { + log.Printf("- %s: %s -> %s [time=%v]\n", d.name, msg, ErrToOK(err), time.Since(start)) + } +} |