func (self *LogStack) Flush() { self.Lock() defer self.Unlock() var log seelog.LoggerInterface if self.LoggerInterface != nil { log = self.LoggerInterface } if self.loggerGetter != nil { log = self.loggerGetter.GetLogger() } for len(self.s) > 0 { message := self.s[0] switch message.level { case seelog.TraceLvl: log.Trace(message.text) case seelog.DebugLvl: log.Debug(message.text) case seelog.InfoLvl: log.Info(message.text) case seelog.WarnLvl: log.Warn(message.text) case seelog.ErrorLvl: log.Error(message.text) case seelog.CriticalLvl: log.Critical(message.text) } self.s = self.s[1:len(self.s)] } log.Flush() }