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 {