mirror of
https://github.com/writefreely/writefreely
synced 2024-11-28 11:30:18 +00:00
Let Apper set request log format
This adds a new ReqLog() func to the Apper interface that'll return the log message for incoming requests. Ref T649
This commit is contained in:
parent
ba3cb4b4ff
commit
5953a50f4a
2 changed files with 18 additions and 12 deletions
6
app.go
6
app.go
|
@ -118,6 +118,8 @@ type Apper interface {
|
||||||
SaveConfig(*config.Config) error
|
SaveConfig(*config.Config) error
|
||||||
|
|
||||||
LoadKeys() error
|
LoadKeys() error
|
||||||
|
|
||||||
|
ReqLog(r *http.Request, status int, timeSince time.Duration) string
|
||||||
}
|
}
|
||||||
|
|
||||||
// App returns the App
|
// App returns the App
|
||||||
|
@ -177,6 +179,10 @@ func (app *App) LoadKeys() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (app *App) ReqLog(r *http.Request, status int, timeSince time.Duration) string {
|
||||||
|
return fmt.Sprintf("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, timeSince, r.UserAgent())
|
||||||
|
}
|
||||||
|
|
||||||
// handleViewHome shows page at root path. Will be the Pad if logged in and the
|
// handleViewHome shows page at root path. Will be the Pad if logged in and the
|
||||||
// catch-all landing page otherwise.
|
// catch-all landing page otherwise.
|
||||||
func handleViewHome(app *App, w http.ResponseWriter, r *http.Request) error {
|
func handleViewHome(app *App, w http.ResponseWriter, r *http.Request) error {
|
||||||
|
|
24
handle.go
24
handle.go
|
@ -137,7 +137,7 @@ func (h *Handler) User(f userHandlerFunc) http.HandlerFunc {
|
||||||
status = http.StatusInternalServerError
|
status = http.StatusInternalServerError
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
u := getUserSession(h.app.App(), r)
|
u := getUserSession(h.app.App(), r)
|
||||||
|
@ -175,7 +175,7 @@ func (h *Handler) Admin(f userHandlerFunc) http.HandlerFunc {
|
||||||
status = http.StatusInternalServerError
|
status = http.StatusInternalServerError
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info(fmt.Sprintf("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent()))
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
u := getUserSession(h.app.App(), r)
|
u := getUserSession(h.app.App(), r)
|
||||||
|
@ -213,7 +213,7 @@ func (h *Handler) AdminApper(f userApperHandlerFunc) http.HandlerFunc {
|
||||||
status = http.StatusInternalServerError
|
status = http.StatusInternalServerError
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info(fmt.Sprintf("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent()))
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
u := getUserSession(h.app.App(), r)
|
u := getUserSession(h.app.App(), r)
|
||||||
|
@ -295,7 +295,7 @@ func (h *Handler) UserAll(web bool, f userHandlerFunc, a authFunc) http.HandlerF
|
||||||
status = 500
|
status = 500
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
u, err := a(h.app.App(), r)
|
u, err := a(h.app.App(), r)
|
||||||
|
@ -381,7 +381,7 @@ func (h *Handler) WebErrors(f handlerFunc, ul UserLevelFunc) http.HandlerFunc {
|
||||||
status = 500
|
status = 500
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
var session *sessions.Session
|
var session *sessions.Session
|
||||||
|
@ -440,7 +440,7 @@ func (h *Handler) CollectionPostOrStatic(w http.ResponseWriter, r *http.Request)
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
status := 200
|
status := 200
|
||||||
defer func() {
|
defer func() {
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// Serve static file
|
// Serve static file
|
||||||
|
@ -472,7 +472,7 @@ func (h *Handler) Web(f handlerFunc, ul UserLevelFunc) http.HandlerFunc {
|
||||||
status = 500
|
status = 500
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if ul(h.app.App().cfg) != UserLevelNoneType {
|
if ul(h.app.App().cfg) != UserLevelNoneType {
|
||||||
|
@ -530,7 +530,7 @@ func (h *Handler) All(f handlerFunc) http.HandlerFunc {
|
||||||
status = 500
|
status = 500
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// TODO: do any needed authentication
|
// TODO: do any needed authentication
|
||||||
|
@ -562,7 +562,7 @@ func (h *Handler) AllReader(f handlerFunc) http.HandlerFunc {
|
||||||
status = 500
|
status = 500
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if h.app.App().cfg.App.Private {
|
if h.app.App().cfg.App.Private {
|
||||||
|
@ -619,7 +619,7 @@ func (h *Handler) Download(f dataHandlerFunc, ul UserLevelFunc) http.HandlerFunc
|
||||||
status = 500
|
status = 500
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
data, filename, err := f(h.app.App(), w, r)
|
data, filename, err := f(h.app.App(), w, r)
|
||||||
|
@ -682,7 +682,7 @@ func (h *Handler) Redirect(url string, ul UserLevelFunc) http.HandlerFunc {
|
||||||
|
|
||||||
status = sendRedirect(w, http.StatusFound, url)
|
status = sendRedirect(w, http.StatusFound, url)
|
||||||
|
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}())
|
}())
|
||||||
|
@ -799,7 +799,7 @@ func (h *Handler) LogHandlerFunc(f http.HandlerFunc) http.HandlerFunc {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: log actual status code returned
|
// TODO: log actual status code returned
|
||||||
log.Info("\"%s %s\" %d %s \"%s\"", r.Method, r.RequestURI, status, time.Since(start), r.UserAgent())
|
log.Info(h.app.ReqLog(r, status, time.Since(start)))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if h.app.App().cfg.App.Private {
|
if h.app.App().cfg.App.Private {
|
||||||
|
|
Loading…
Reference in a new issue