Added a few logs

This commit is contained in:
Eduard Urbach 2017-06-10 20:45:30 +02:00
parent 1454cdc239
commit 22f75038f5

View File

@ -1,20 +1,36 @@
package main
// loggerConfig := zap.NewDevelopmentConfig()
// loggerConfig.OutputPaths = append(loggerConfig.OutputPaths, "logs/server.log")
import (
"os"
"strconv"
"strings"
"time"
// logger, _ := loggerConfig.Build()
"github.com/aerogo/aero"
"github.com/aerogo/log"
)
// logTime := func(ctx *aero.Context, next func()) {
// start := time.Now()
// next()
// responseTime := time.Since(start)
func init() {
err := log.NewChannel("error")
err.AddOutput(log.File("logs/error.log"))
err.AddOutput(os.Stderr)
// if ctx.StatusCode == 200 {
// logger.Info(ctx.URI(), zap.Duration("responseTime", responseTime), zap.Int("statusCode", ctx.StatusCode))
// } else {
// logger.Warn(ctx.URI(), zap.Duration("responseTime", responseTime), zap.Int("statusCode", ctx.StatusCode))
// }
// }
web := log.NewChannel("web")
web.AddOutput(log.File("logs/request.log"))
// app.Use(logTime)
app.Use(func(ctx *aero.Context, next func()) {
start := time.Now()
next()
responseTime := time.Since(start)
responseTimeString := strconv.Itoa(int(responseTime.Nanoseconds()/1000000)) + " ms"
responseTimeString = strings.Repeat(" ", 8-len(responseTimeString)) + responseTimeString
// Log every request
web.Info(ctx.RealIP(), ctx.StatusCode, responseTimeString, ctx.URI())
// Notify us about long requests
if responseTime >= 100*time.Millisecond {
err.Error("Unusually long response time", ctx.RealIP(), ctx.StatusCode, responseTimeString, ctx.URI())
}
})
}