Define an interface which looks similar to this
type streamers interface {
Events() <-chan interface{}
}
That can be registered into the alog system. There should be the ability to have 0-N of these registered and alog should pull events from them and log them to the appropriate destinations based on their interface types.
Internal interface types for it to recognize would be initially error and stringer which would go to the Error and Print methods of alog respectively. This should be extensible in the future to be able to add additional error types. This registration system should be able to use the same c method types which accept interface types.
Define an interface which looks similar to this
That can be registered into the alog system. There should be the ability to have 0-N of these registered and alog should pull events from them and log them to the appropriate destinations based on their interface types.
Internal interface types for it to recognize would be initially
errorandstringerwhich would go to theErrorandPrintmethods of alog respectively. This should be extensible in the future to be able to add additional error types. This registration system should be able to use the samecmethod types which accept interface types.