Inject loggers from main.go instead of creating them locally

- Update all components to accept a logger parameter
- Add default fallbacks when logger is not provided
- Ensure consistent logger naming with parent.Named() pattern
- Create a proper logger hierarchy originating from main.go
- Update MessageLogger to pass logger to BaseSubscriber
This commit is contained in:
Daniel Pupius
2025-04-21 11:09:27 -07:00
parent b7cec0feff
commit c6d94b10d1
6 changed files with 43 additions and 22 deletions

View File

@@ -34,18 +34,21 @@ type Server struct {
}
// New creates a new server instance
func New(config Config) *Server {
// Create a named logger
logger := logging.NewDevLogger().Named("server")
func New(config Config, logger logging.Logger) *Server {
// Use provided logger or create a default one
if logger == nil {
logger = logging.NewDevLogger()
}
serverLogger := logger.Named("server")
if config.Broker == nil {
logger.Info("Warning: Server created without a broker, streaming will not work")
serverLogger.Info("Warning: Server created without a broker, streaming will not work")
}
return &Server{
config: config,
shutdown: make(chan struct{}),
logger: logger,
logger: serverLogger,
}
}