mirror of
https://github.com/balzack/databag.git
synced 2025-02-11 19:19:16 +00:00
61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
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)
|
|
}
|
|
|