Exemple #1
0
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()
}