Allow Macaron to be set to log through to gitea.log (#5667)
* Allow Macaron to be set to log through gitea.log Fix #4291
This commit is contained in:
parent
3b7f41f9f7
commit
f286a5abb4
5 changed files with 76 additions and 7 deletions
|
@ -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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue