mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 08:14:18 -04:00
Use logging (#1718)
* update docs * plugins: use plugin specific logging Hooking up pkg/log also changed NewWithPlugin to just take a string instead of a plugin.Handler as that is more flexible and for instance the Root "plugin" doesn't implement it fully. Same logging from the reload plugin: .:1043 2018/04/22 08:56:37 [INFO] CoreDNS-1.1.1 2018/04/22 08:56:37 [INFO] linux/amd64, go1.10.1, CoreDNS-1.1.1 linux/amd64, go1.10.1, 2018/04/22 08:56:37 [INFO] plugin/reload: Running configuration MD5 = ec4c9c55cd19759ea1c46b8c45742b06 2018/04/22 08:56:54 [INFO] Reloading 2018/04/22 08:56:54 [INFO] plugin/reload: Running configuration MD5 = 9e2bfdd85bdc9cceb740ba9c80f34c1a 2018/04/22 08:56:54 [INFO] Reloading complete * update docs * better doc
This commit is contained in:
@@ -3,8 +3,6 @@ package log
|
||||
import (
|
||||
"fmt"
|
||||
golog "log"
|
||||
|
||||
"github.com/coredns/coredns/plugin"
|
||||
)
|
||||
|
||||
// P is a logger that includes the plugin doing the logging.
|
||||
@@ -12,9 +10,9 @@ type P struct {
|
||||
plugin string
|
||||
}
|
||||
|
||||
// NewWithPlugin return a logger that shows the plugin that logs the message.
|
||||
// NewWithPlugin returns a logger that includes "plugin/name: " in the log message.
|
||||
// I.e [INFO] plugin/<name>: message.
|
||||
func NewWithPlugin(h plugin.Handler) P { return P{h.Name()} }
|
||||
func NewWithPlugin(name string) P { return P{name} }
|
||||
|
||||
func (p P) logf(level, format string, v ...interface{}) {
|
||||
s := level + pFormat(p.plugin) + fmt.Sprintf(format, v...)
|
||||
|
||||
@@ -2,28 +2,17 @@ package log
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
golog "log"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/miekg/dns"
|
||||
)
|
||||
|
||||
type p struct{}
|
||||
|
||||
func (p p) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
func (p p) Name() string { return "testplugin" }
|
||||
|
||||
func TestPlugins(t *testing.T) {
|
||||
var f bytes.Buffer
|
||||
const ts = "test"
|
||||
golog.SetOutput(&f)
|
||||
|
||||
lg := NewWithPlugin(p{})
|
||||
lg := NewWithPlugin("testplugin")
|
||||
|
||||
lg.Info(ts)
|
||||
if x := f.String(); !strings.Contains(x, "plugin/testplugin") {
|
||||
|
||||
Reference in New Issue
Block a user