@marcel91200 / caddy Mirror · read-only / commits / 3d0e0462
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 14, 05:15 UTC

caddyauth: Use structured log

Matthew Holt committed Dec 3, 2020 at 11:33 UTC 3d0e046238cd1a6cf2500e9dffbd581617082535
1 file changed +7 -2
modules/caddyhttp/caddyauth/caddyauth.go
+7 -2
@@ -16,11 +16,11 @@ package caddyauth
16
17 import (
18 "fmt"
19 - "log"
19 "net/http"
20
21 "github.com/caddyserver/caddy/v2"
22 "github.com/caddyserver/caddy/v2/modules/caddyhttp"
23 + "go.uber.org/zap"
24 )
25
26 func init() {
@@ -42,6 +42,8 @@ type Authentication struct {
42 ProvidersRaw caddy.ModuleMap `json:"providers,omitempty" caddy:"namespace=http.authentication.providers"`
43
44 Providers map[string]Authenticator `json:"-"`
45 +
46 + logger *zap.Logger
47 }
48
49 // CaddyModule returns the Caddy module information.
@@ -54,6 +56,7 @@ func (Authentication) CaddyModule() caddy.ModuleInfo {
56
57 // Provision sets up a.
58 func (a *Authentication) Provision(ctx caddy.Context) error {
59 + a.logger = ctx.Logger(a)
60 a.Providers = make(map[string]Authenticator)
61 mods, err := ctx.LoadModule(a, "ProvidersRaw")
62 if err != nil {
@@ -72,7 +75,9 @@ func (a Authentication) ServeHTTP(w http.ResponseWriter, r *http.Request, next c
75 for provName, prov := range a.Providers {
76 user, authed, err = prov.Authenticate(w, r)
77 if err != nil {
75 - log.Printf("[ERROR] Authenticating with %s: %v", provName, err)
78 + a.logger.Error("auth provider returned error",
79 + zap.String("provider", provName),
80 + zap.Error(err))
81 continue
82 }
83 if authed {