57 lines
1.4 KiB
Go
57 lines
1.4 KiB
Go
package config
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
"producer/pkg/utils"
|
|
|
|
"github.com/joho/godotenv"
|
|
)
|
|
|
|
// LoadConfig carga la configuración de la aplicación
|
|
func LoadConfig() error {
|
|
// Detectar directorio actual para debugging
|
|
cwd, err := os.Getwd()
|
|
if err != nil {
|
|
log.Printf("Error al obtener directorio actual: %v", err)
|
|
} else {
|
|
log.Printf("Directorio actual: %s", cwd)
|
|
}
|
|
|
|
// Intentar cargar .env desde la ubicación actual
|
|
if err := godotenv.Load(); err != nil {
|
|
log.Printf("No se pudo cargar .env desde la ubicación actual: %v", err)
|
|
|
|
// Intentar cargar desde ubicaciones alternativas
|
|
paths := []string{
|
|
"./.env",
|
|
"../.env",
|
|
"../../.env",
|
|
"../main/.env",
|
|
}
|
|
|
|
for _, path := range paths {
|
|
absPath, _ := filepath.Abs(path)
|
|
log.Printf("Intentando cargar .env desde: %s", absPath)
|
|
if err := godotenv.Load(path); err == nil {
|
|
log.Printf("Archivo .env cargado correctamente desde: %s", absPath)
|
|
return nil
|
|
}
|
|
}
|
|
|
|
log.Println("Continuando con variables de entorno del sistema")
|
|
return nil
|
|
}
|
|
|
|
log.Println("Archivo .env cargado correctamente")
|
|
return nil
|
|
}
|
|
|
|
// PrintConfigValues imprime valores de configuración para verificación
|
|
func PrintConfigValues() {
|
|
log.Printf("DB_HOST: %s", utils.GetEnv("DB_HOST", "not set"))
|
|
log.Printf("KAFKA_BOOTSTRAP_SERVERS: %s", utils.GetEnv("KAFKA_BOOTSTRAP_SERVERS", "not set"))
|
|
log.Printf("SERVER_PORT: %s", utils.GetEnv("SERVER_PORT", "not set"))
|
|
}
|