Changes
1 changed files (+39/-0)
-
-
@@ -89,8 +89,10 @@ func (l *ChannelledLog) Start() {l.closeLogger() return } l.emptyQueue() l.loggerProvider.Flush() case <-l.close: l.emptyQueue() l.closeLogger() return }
-
@@ -111,6 +113,20 @@ func (l *ChannelledLog) LogEvent(event *Event) error {} } func (l *ChannelledLog) emptyQueue() bool { for { select { case event, ok := <-l.queue: if !ok { return false } l.loggerProvider.LogEvent(event) default: return true } } } func (l *ChannelledLog) closeLogger() { l.loggerProvider.Flush() l.loggerProvider.Close()
-
@@ -345,18 +361,41 @@ func (m *MultiChannelledLog) Start() {m.closeLoggers() return } m.emptyQueue() m.rwmutex.RLock() for _, logger := range m.loggers { logger.Flush() } m.rwmutex.RUnlock() case <-m.close: m.emptyQueue() m.closeLoggers() return } } } func (m *MultiChannelledLog) emptyQueue() bool { for { select { case event, ok := <-m.queue: if !ok { return false } m.rwmutex.RLock() for _, logger := range m.loggers { err := logger.LogEvent(event) if err != nil { fmt.Println(err) } } m.rwmutex.RUnlock() default: return true } } } // LogEvent logs an event to this MultiChannelledLog func (m *MultiChannelledLog) LogEvent(event *Event) error { select {
-