From 826f81f47951b568088dd709a0407d32474c7f5d Mon Sep 17 00:00:00 2001 From: JessonChan Date: Fri, 25 Mar 2016 15:04:52 +0800 Subject: [PATCH] remove from init method --- log.go | 3 +++ logs/log.go | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/log.go b/log.go index 214f6d14..e9412f92 100644 --- a/log.go +++ b/log.go @@ -32,6 +32,9 @@ const ( LevelDebug ) +// BeeLogger references the used application logger. +var BeeLogger = logs.GetBeeLogger() + // SetLevel sets the global log level used by the simple logger. func SetLevel(l int) { logs.SetLevel(l) diff --git a/logs/log.go b/logs/log.go index 506e712d..11d54ef8 100644 --- a/logs/log.go +++ b/logs/log.go @@ -120,6 +120,8 @@ type BeeLogger struct { outputs []*nameLogger } +const defaultAsyncMsgLen = 1e3 + type nameLogger struct { Logger name string @@ -157,6 +159,9 @@ func (bl *BeeLogger) Async() *BeeLogger { return bl } bl.asynchronous = true + if bl.msgChanLen <= 0 { + bl.msgChanLen = defaultAsyncMsgLen + } bl.msgChan = make(chan *logMsg, bl.msgChanLen) logMsgPool = &sync.Pool{ New: func() interface{} { @@ -250,6 +255,11 @@ func (bl *BeeLogger) Write(p []byte) (n int, err error) { } func (bl *BeeLogger) writeMsg(logLevel int, msg string, v ...interface{}) error { + if !beeLogger.init { + bl.lock.Lock() + bl.setLogger(AdapterConsole) + bl.lock.Unlock() + } if logLevel == levelLoggerImpl { // set to emergency to ensure all log will be print out correctly logLevel = LevelEmergency @@ -465,12 +475,8 @@ func (bl *BeeLogger) flush() { } } -// BeeLogger references the used application logger. -var beeLogger *BeeLogger - -func init() { - beeLogger = NewLogger() -} +// beeLogger references the used application logger. +var beeLogger *BeeLogger = NewLogger() // GetLogger returns the default BeeLogger func GetBeeLogger() *BeeLogger {