From 3f6dfba1f0e9cd6c858f88891550d09904b7814d Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Thu, 15 Nov 2018 22:18:49 +0000 Subject: [PATCH] Redo the plugin log PR (#2315) * Redo the plugin log PR Remove the code duplication and call of the "official" functions. This is the second(?) time we forgot to update the other half, so remove that problem entirely. Also add a test if the correct (within limits) time in front of the log line. Signed-off-by: Miek Gieben * Remove pFormat Signed-off-by: Miek Gieben --- plugin/pkg/log/plugin.go | 11 +++-------- plugin/pkg/log/plugin_test.go | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/plugin/pkg/log/plugin.go b/plugin/pkg/log/plugin.go index 1df302609..0cc5f881a 100644 --- a/plugin/pkg/log/plugin.go +++ b/plugin/pkg/log/plugin.go @@ -2,7 +2,6 @@ package log import ( "fmt" - golog "log" "os" ) @@ -13,16 +12,14 @@ type P struct { // NewWithPlugin returns a logger that includes "plugin/name: " in the log message. // I.e [INFO] plugin/: message. -func NewWithPlugin(name string) P { return P{name} } +func NewWithPlugin(name string) P { return P{"plugin/" + name + ": "} } func (p P) logf(level, format string, v ...interface{}) { - s := level + pFormat(p.plugin) + fmt.Sprintf(format, v...) - golog.Print(s) + log(level, p.plugin, fmt.Sprintf(format, v...)) } func (p P) log(level string, v ...interface{}) { - s := level + pFormat(p.plugin) + fmt.Sprint(v...) - golog.Print(s) + log(level+p.plugin, v...) } // Debug logs as log.Debug. @@ -64,5 +61,3 @@ func (p P) Fatal(v ...interface{}) { p.log(fatal, v...); os.Exit(1) } // Fatalf logs as log.Fatalf and calls os.Exit(1). func (p P) Fatalf(format string, v ...interface{}) { p.logf(fatal, format, v...); os.Exit(1) } - -func pFormat(s string) string { return "plugin/" + s + ": " } diff --git a/plugin/pkg/log/plugin_test.go b/plugin/pkg/log/plugin_test.go index b24caa48b..c02338608 100644 --- a/plugin/pkg/log/plugin_test.go +++ b/plugin/pkg/log/plugin_test.go @@ -19,3 +19,19 @@ func TestPlugins(t *testing.T) { t.Errorf("Expected log to be %s, got %s", info+ts, x) } } + +func TestPluginsDateTime(t *testing.T) { + var f bytes.Buffer + const ts = "test" + golog.SetFlags(0) // Set to 0 because we're doing our own time, with timezone + golog.SetOutput(&f) + + lg := NewWithPlugin("testplugin") + + lg.Info(ts) + // rude check if the date/time is there + str := f.String() + if str[4] != '-' || str[7] != '-' || str[10] != 'T' { + t.Errorf("Expected date got %s...", str[:15]) + } +}