aboutsummaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
Diffstat (limited to 'routers')
-rw-r--r--routers/routes/routes.go29
1 files changed, 26 insertions, 3 deletions
diff --git a/routers/routes/routes.go b/routers/routes/routes.go
index 48d1dc6a7f..58274626c0 100644
--- a/routers/routes/routes.go
+++ b/routers/routes/routes.go
@@ -6,6 +6,7 @@ package routes
import (
"encoding/gob"
+ "fmt"
"net/http"
"os"
"path"
@@ -45,12 +46,34 @@ import (
macaron "gopkg.in/macaron.v1"
)
+func giteaLogger(l *log.LoggerAsWriter) macaron.Handler {
+ return func(ctx *macaron.Context) {
+ start := time.Now()
+
+ l.Log(fmt.Sprintf("[Macaron] Started %s %s for %s", ctx.Req.Method, ctx.Req.RequestURI, ctx.RemoteAddr()))
+
+ ctx.Next()
+
+ rw := ctx.Resp.(macaron.ResponseWriter)
+ l.Log(fmt.Sprintf("[Macaron] Completed %s %s %v %s in %v", ctx.Req.Method, ctx.Req.RequestURI, rw.Status(), http.StatusText(rw.Status()), time.Since(start)))
+ }
+}
+
// NewMacaron initializes Macaron instance.
func NewMacaron() *macaron.Macaron {
gob.Register(&u2f.Challenge{})
- m := macaron.New()
- if !setting.DisableRouterLog {
- m.Use(macaron.Logger())
+ var m *macaron.Macaron
+ if setting.RedirectMacaronLog {
+ loggerAsWriter := log.NewLoggerAsWriter("INFO")
+ m = macaron.NewWithLogger(loggerAsWriter)
+ if !setting.DisableRouterLog {
+ m.Use(giteaLogger(loggerAsWriter))
+ }
+ } else {
+ m = macaron.New()
+ if !setting.DisableRouterLog {
+ m.Use(macaron.Logger())
+ }
}
m.Use(macaron.Recovery())
if setting.EnableGzip {