refactor: use a common logger for consistency

All kapow messages will end up in stderr (incl. debug mode).
stdout is reserved for the access logs.

Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com>
This commit is contained in:
pancho horrillo
2020-12-16 17:29:26 +01:00
parent d62a9dba68
commit 41be4f9344
11 changed files with 60 additions and 53 deletions
+5 -9
View File
@@ -18,13 +18,12 @@ package mux
import (
"bufio"
"log"
"net/http"
"io"
"os"
"github.com/google/uuid"
"github.com/BBVA/kapow/internal/logger"
"github.com/BBVA/kapow/internal/server/data"
"github.com/BBVA/kapow/internal/server/model"
"github.com/BBVA/kapow/internal/server/user/spawn"
@@ -32,7 +31,6 @@ import (
var spawner = spawn.Spawn
var idGenerator = uuid.NewUUID
var logHandler io.Writer = os.Stdout
func handlerBuilder(route model.Route) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
@@ -57,14 +55,14 @@ func handlerBuilder(route model.Route) http.Handler {
stdOutR, stdOutW, err = os.Pipe()
defer stdOutW.Close()
if err != nil {
log.Println(err)
logger.L.Println(err)
return
}
var stdErrR, stdErrW *os.File
stdErrR, stdErrW, err = os.Pipe()
defer stdErrW.Close()
if err != nil {
log.Println(err)
logger.L.Println(err)
return
}
@@ -76,9 +74,8 @@ func handlerBuilder(route model.Route) http.Handler {
err = spawner(h, nil, nil)
}
if err != nil {
log.Println(err)
logger.L.Println(err)
}
})
@@ -86,9 +83,8 @@ func handlerBuilder(route model.Route) http.Handler {
func logStream(handlerId string, streamName string, stream *os.File) {
defer stream.Close()
execLog := log.New(logHandler, "", log.Ldate|log.Ltime|log.LUTC|log.Lmicroseconds)
scanner := bufio.NewScanner(stream)
for scanner.Scan() {
execLog.Printf("%s %s: %s", handlerId, streamName, scanner.Text())
logger.L.Printf("%s %s: %s", handlerId, streamName, scanner.Text())
}
}