databag/net/server/internal/logger.go

60 lines
1.2 KiB
Go
Raw Normal View History

2022-01-11 06:20:32 +00:00
package databag
import (
2022-07-22 19:28:14 +00:00
"github.com/kr/pretty"
"log"
"net/http"
"os"
"runtime"
"strings"
"time"
2022-01-11 06:20:32 +00:00
)
2022-07-23 04:17:09 +00:00
//Logger prints endpoint details
2022-01-11 06:20:32 +00:00
func Logger(inner http.Handler, name string) http.Handler {
2022-07-22 19:28:14 +00:00
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),
)
})
2022-01-11 06:20:32 +00:00
}
2022-01-16 07:25:43 +00:00
2022-07-23 04:17:09 +00:00
//ErrResponse prints detailed error event and sets response
2022-01-19 19:36:53 +00:00
func ErrResponse(w http.ResponseWriter, code int, err error) {
2022-07-23 04:17:09 +00:00
if err != nil {
2022-07-22 19:28:14 +00:00
_, file, line, _ := runtime.Caller(1)
p, _ := os.Getwd()
log.Printf("%s:%d %s", strings.TrimPrefix(file, p), line, err.Error())
}
w.WriteHeader(code)
2022-01-19 19:36:53 +00:00
}
2022-07-23 04:17:09 +00:00
//ErrMsg prints detailed error event
2022-01-19 19:36:53 +00:00
func ErrMsg(err error) {
2022-07-23 04:17:09 +00:00
if err != nil {
2022-07-22 19:28:14 +00:00
_, file, line, _ := runtime.Caller(1)
p, _ := os.Getwd()
log.Printf("%s:%d %s", strings.TrimPrefix(file, p), line, err.Error())
}
2022-01-19 19:36:53 +00:00
}
2022-07-23 04:17:09 +00:00
//LogMsg prints detailed error string
2022-01-16 07:25:43 +00:00
func LogMsg(msg string) {
2022-07-27 05:45:38 +00:00
_, file, line, _ := runtime.Caller(1)
p, _ := os.Getwd()
log.Printf("%s:%d %s", strings.TrimPrefix(file, p), line, msg)
2022-01-16 07:25:43 +00:00
}
2022-01-17 05:11:24 +00:00
2022-07-23 04:17:09 +00:00
//PrintMsg prints debug message
2022-01-17 05:11:24 +00:00
func PrintMsg(obj interface{}) {
2022-07-22 19:28:14 +00:00
pretty.Println(obj)
2022-01-17 05:11:24 +00:00
}