fix(redis,rabbitmq): clean dev/lab behavior

This commit is contained in:
okinrev 2025-12-07 14:28:55 +01:00
parent 0dc64c7638
commit 4da014e924

View file

@ -173,7 +173,7 @@ func NewConfig() (*Config, error) {
} }
// Initialiser Redis // Initialiser Redis
config.RedisClient, err = initRedis(config.RedisURL) config.RedisClient, err = initRedis(config.RedisURL, logger)
if err != nil { if err != nil {
logger.Error("Failed to initialize Redis", zap.Error(err)) logger.Error("Failed to initialize Redis", zap.Error(err))
return nil, err return nil, err
@ -357,12 +357,15 @@ func (c *Config) SetupMiddleware(router *gin.Engine) {
} }
// initRedis initialise la connexion Redis // initRedis initialise la connexion Redis
func initRedis(redisURL string) (*redis.Client, error) { func initRedis(redisURL string, logger *zap.Logger) (*redis.Client, error) {
opts, err := redis.ParseURL(redisURL) opts, err := redis.ParseURL(redisURL)
if err != nil { if err != nil {
return nil, err return nil, err
} }
// Configurer un logger filtré pour Redis pour éviter les warnings "maint_notifications"
redis.SetLogger(&filteredRedisLogger{logger: logger})
client := redis.NewClient(opts) client := redis.NewClient(opts)
// Test de connexion // Test de connexion
@ -375,6 +378,19 @@ func initRedis(redisURL string) (*redis.Client, error) {
return client, nil return client, nil
} }
// filteredRedisLogger est un wrapper pour filtrer les logs de Redis
type filteredRedisLogger struct {
logger *zap.Logger
}
func (l *filteredRedisLogger) Printf(ctx context.Context, format string, v ...interface{}) {
msg := fmt.Sprintf(format, v...)
if strings.Contains(msg, "maint_notifications") {
return // Ignorer ce warning spécifique en mode auto-discovery
}
l.logger.Debug("Redis internal", zap.String("message", msg))
}
// initDatabaseWithRetry initialise la connexion à la base de données avec des tentatives de retry // initDatabaseWithRetry initialise la connexion à la base de données avec des tentatives de retry
func initDatabaseWithRetry(databaseURL string, maxRetries int, retryInterval time.Duration, logger *zap.Logger) (*database.Database, error) { func initDatabaseWithRetry(databaseURL string, maxRetries int, retryInterval time.Duration, logger *zap.Logger) (*database.Database, error) {
dbConfig := &database.Config{ dbConfig := &database.Config{