From bb56cf561ba3f9536db3d741b2a1e5d6473c3829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Carlos=20Nieto?= <jose.carlos@menteslibres.net> Date: Wed, 28 Sep 2016 16:56:14 -0500 Subject: [PATCH] Refactor defaultLogger value. --- config.go | 3 ++- logger.go | 20 ++++++++------------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/config.go b/config.go index d60b2e5b..4735aa67 100644 --- a/config.go +++ b/config.go @@ -21,13 +21,14 @@ type Settings interface { type conf struct { loggingEnabled uint32 queryLogger atomic.Value + defaultLogger defaultLogger } func (c *conf) Logger() Logger { if lg := c.queryLogger.Load(); lg != nil { return lg.(Logger) } - return nil + return &c.defaultLogger } func (c *conf) SetLogger(lg Logger) { diff --git a/logger.go b/logger.go index 9ecda484..f346598e 100644 --- a/logger.go +++ b/logger.go @@ -19,6 +19,11 @@ const ( fmtLogTimeTaken = `Time taken: %0.5fs` ) +var ( + reInvisibleChars = regexp.MustCompile(`[\s\r\n\t]+`) + reColumnCompareExclude = regexp.MustCompile(`[^a-zA-Z0-9]`) +) + // QueryStatus represents a query after being executed. type QueryStatus struct { SessID uint64 @@ -91,7 +96,6 @@ const ( func init() { if envEnabled(EnvEnableDebug) { - Conf.SetLogger(&defaultLogger{}) // Using default logger. Conf.SetLogging(true) } } @@ -105,22 +109,14 @@ type Logger interface { // Log sends a query status report to the configured logger. func Log(m *QueryStatus) { - logger := Conf.Logger() - if logger == nil { - logger = &defaultLogger{} - Conf.SetLogger(logger) - } - logger.Log(m) + Conf.Logger().Log(m) } -var ( - reInvisibleChars = regexp.MustCompile(`[\s\r\n\t]+`) - reColumnCompareExclude = regexp.MustCompile(`[^a-zA-Z0-9]`) -) - type defaultLogger struct { } func (lg *defaultLogger) Log(m *QueryStatus) { log.Printf("\n\t%s\n\n", strings.Replace(m.String(), "\n", "\n\t", -1)) } + +var _ = Logger(&defaultLogger{}) -- GitLab