package repeater import ( "github.com/kr/pretty" "log" "net/http" "os" "runtime" "strings" "time" ) //Logger prints endpoint details func Logger(inner http.Handler, name string) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { start := time.Now() inner.ServeHTTP(w, r) log.Printf( "%s %s %s %s", r.Method, r.RequestURI, name, time.Since(start), ) }) } //ErrResponse prints detailed error event and sets response func ErrResponse(w http.ResponseWriter, code int, err error) { if err != nil { _, file, line, _ := runtime.Caller(1) p, _ := os.Getwd() log.Printf("%s:%d %s", strings.TrimPrefix(file, p), line, err.Error()) } w.WriteHeader(code) } //ErrMsg prints detailed error event func ErrMsg(err error) { if err != nil { _, file, line, _ := runtime.Caller(1) p, _ := os.Getwd() log.Printf("%s:%d %s", strings.TrimPrefix(file, p), line, err.Error()) } } //LogMsg prints detailed error string func LogMsg(msg string) { _, file, line, _ := runtime.Caller(1) p, _ := os.Getwd() log.Printf("%s:%d %s", strings.TrimPrefix(file, p), line, msg) } //PrintMsg prints debug message func PrintMsg(obj interface{}) { pretty.Println(obj) }