diff --git a/plugin/forward/forward.go b/plugin/forward/forward.go index 2b6a3f705..dfa1aaca1 100644 --- a/plugin/forward/forward.go +++ b/plugin/forward/forward.go @@ -12,12 +12,15 @@ import ( "github.com/coredns/coredns/plugin" "github.com/coredns/coredns/plugin/debug" + clog "github.com/coredns/coredns/plugin/pkg/log" "github.com/coredns/coredns/request" "github.com/miekg/dns" ot "github.com/opentracing/opentracing-go" ) +var log = clog.NewWithPlugin("forward") + // Forward represents a plugin instance that can proxy requests to another (DNS) server. It has a list // of proxies each representing one upstream proxy. type Forward struct { diff --git a/plugin/forward/health.go b/plugin/forward/health.go index a64b74122..4512d96c8 100644 --- a/plugin/forward/health.go +++ b/plugin/forward/health.go @@ -31,6 +31,7 @@ func NewHealthChecker(trans string) HealthChecker { return &dnsHc{c: c} } + log.Warningf("No healthchecker for transport %q", trans) return nil } diff --git a/plugin/forward/proxy.go b/plugin/forward/proxy.go index 453dd015b..fbe79cd69 100644 --- a/plugin/forward/proxy.go +++ b/plugin/forward/proxy.go @@ -50,6 +50,11 @@ func (p *Proxy) SetExpire(expire time.Duration) { p.transport.SetExpire(expire) // Healthcheck kicks of a round of health checks for this proxy. func (p *Proxy) Healthcheck() { + if p.health == nil { + log.Warning("No healthchecker") + return + } + p.probe.Do(func() error { return p.health.Check(p) })