summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/keybase/go-keybase-chat-bot/kbchat/util.go
diff options
context:
space:
mode:
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.go38
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))
+ }
+}