62 lines
1.0 KiB
Go
62 lines
1.0 KiB
Go
package tripsgo
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"log"
|
|
"net/http"
|
|
"time"
|
|
)
|
|
|
|
//
|
|
var (
|
|
Info *log.Logger
|
|
Debug *log.Logger
|
|
Fatal *log.Logger
|
|
)
|
|
|
|
// InitLogging - Initialize logging for trips api
|
|
func InitLogging(
|
|
infoHandle io.Writer,
|
|
debugHandle io.Writer,
|
|
fatalHandle io.Writer) {
|
|
|
|
Info = log.New(infoHandle,
|
|
"INFO: ",
|
|
log.Ldate|log.Ltime|log.Lshortfile)
|
|
|
|
Debug = log.New(debugHandle,
|
|
"DEBUG: ",
|
|
log.Ldate|log.Ltime|log.Lshortfile)
|
|
|
|
Fatal = log.New(fatalHandle,
|
|
"FATAL: ",
|
|
log.Ldate|log.Ltime|log.Lshortfile)
|
|
}
|
|
|
|
// Logger - basic console logger that writes request info to stdout
|
|
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)
|
|
|
|
Info.Println(fmt.Sprintf(
|
|
"%s %s %s %s",
|
|
r.Method,
|
|
r.RequestURI,
|
|
name,
|
|
time.Since(start),
|
|
))
|
|
})
|
|
}
|
|
|
|
func logMessage(msg string) {
|
|
Info.Println(msg)
|
|
}
|
|
|
|
func logError(err error, msg string) {
|
|
Info.Println(msg)
|
|
Debug.Println(err.Error())
|
|
}
|