func (rm *RouteManager) Add(route *defines.Route) error { rm.Lock() defer rm.Unlock() route.Closer = make(chan bool) rm.routes[route.ID] = route go func() { logstream := make(chan *defines.Log) defer close(logstream) go Streamer(route, logstream, rm.stdout) rm.attacher.Listen(route.Source, logstream, route.Closer) }() if rm.persistor != nil { if err := rm.persistor.Add(route); err != nil { logs.Info("Lenz Persistor:", err) } } return nil }