Add config to not log requests to metrics endpoint

This commit is contained in:
Torjus Håkestad 2022-08-28 02:35:33 +02:00
parent d2fa727990
commit 52c2bd1060
No known key found for this signature in database
GPG Key ID: C6FD38B820D295FC
4 changed files with 14 additions and 12 deletions

View File

@ -38,6 +38,9 @@ LogLevel = "INFO"
# Enable access logging
# Default: true
AccessLogEnable = true
# Disable logging of successful requests to metrics endpoint
# Default: false
AccessLogIgnoreMetrics = false
# Address and port to listen to
# Default: ":8080"
ListenAddr = ":8080"

View File

@ -37,6 +37,7 @@ type FrontendConfig struct {
ListenAddr string `toml:"ListenAddr"`
LogLevel string `toml:"LogLevel"`
AccessLogEnable bool `toml:"AccessLogEnable"`
AccessLogIgnoreMetrics bool `toml:"AccessLogIgnoreMetrics"`
Autocert FrontendAutocertConfig `toml:"Autocert"`
}

View File

@ -6,7 +6,7 @@ import (
)
var (
Version = "v0.1.29"
Version = "v0.1.30"
Build string
)

View File

@ -17,12 +17,10 @@ func (s *Server) LoggingMiddleware(next http.Handler) http.Handler {
reqID := middleware.GetReqID(r.Context())
defer func() {
/*s.AccessLogger.Debugw(r.Method,
"path", r.URL.Path,
"request-headers", r.Header,
"response-headers", ww.Header(),
)
*/
// If AccessLogIgnoreMetrics is true, do not log successful requests to metrics endpoint
if s.cfg.AccessLogIgnoreMetrics && r.URL.Path == "/metrics" && ww.Status() == http.StatusOK {
return
}
s.AccessLogger.Infow(r.Method,
"path", r.URL.Path,
"status", ww.Status(),