From 4450abf89b894fd74374fa5e6c96a270b1b7a7ed Mon Sep 17 00:00:00 2001 From: Bradley Cicenas Date: Sun, 12 Feb 2017 05:10:40 +0000 Subject: [PATCH] update logging with Init() method --- logging/main.go | 32 +++++++++++++++++--------------- main.go | 3 ++- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/logging/main.go b/logging/main.go index be823d1..915a49c 100644 --- a/logging/main.go +++ b/logging/main.go @@ -15,8 +15,9 @@ const ( ) var ( - exited bool + Log *CTopLogger wg sync.WaitGroup + exited bool format = logging.MustStringFormatter( `%{color}%{time:15:04:05.000} %{shortfunc} ▶ %{level:.4s} %{id:03x}%{color:reset} %{message}`, ) @@ -27,21 +28,22 @@ type CTopLogger struct { backend *logging.MemoryBackend } -func New(serverEnabled string) *CTopLogger { - log := &CTopLogger{ - logging.MustGetLogger("ctop"), - logging.NewMemoryBackend(size), +func Init(serverEnabled string) *CTopLogger { + if Log == nil { + Log = &CTopLogger{ + logging.MustGetLogger("ctop"), + logging.NewMemoryBackend(size), + } + + backendFmt := logging.NewBackendFormatter(Log.backend, format) + logging.SetBackend(backendFmt) + Log.Notice("logger initialized") + + if serverEnabled == "1" { + Log.Serve() + } } - - backendFmt := logging.NewBackendFormatter(log.backend, format) - logging.SetBackend(backendFmt) - log.Notice("logger initialized") - - if serverEnabled == "1" { - log.Serve() - } - - return log + return Log } func (log *CTopLogger) Exit() { diff --git a/main.go b/main.go index 9062869..2496cbd 100644 --- a/main.go +++ b/main.go @@ -6,9 +6,10 @@ import ( ui "github.com/gizak/termui" ) -var log = logging.New(config.Global["loggingEnabled"]) +var log *logging.CTopLogger func main() { + log = logging.Init(config.Global["loggingEnabled"]) if err := ui.Init(); err != nil { panic(err) }