This commit is contained in:
59
config.go
59
config.go
@@ -2,6 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@@ -62,7 +63,7 @@ func loadEnvironmentFiles() {
|
|||||||
// Get environment first (from system env or default)
|
// Get environment first (from system env or default)
|
||||||
env := getEnvironmentFromSystem()
|
env := getEnvironmentFromSystem()
|
||||||
|
|
||||||
Logger.Printf("🔍 Detected environment: %s", env)
|
log.Printf("🔍 Detected environment: %s", env)
|
||||||
|
|
||||||
// Define file loading order (later files override earlier ones)
|
// Define file loading order (later files override earlier ones)
|
||||||
files := []string{
|
files := []string{
|
||||||
@@ -74,12 +75,12 @@ func loadEnvironmentFiles() {
|
|||||||
for _, file := range files {
|
for _, file := range files {
|
||||||
if _, err := os.Stat(file); err == nil {
|
if _, err := os.Stat(file); err == nil {
|
||||||
if err := godotenv.Load(file); err != nil {
|
if err := godotenv.Load(file); err != nil {
|
||||||
Logger.Printf("⚠️ Warning: Could not load %s: %v", file, err)
|
log.Printf("⚠️ Warning: Could not load %s: %v", file, err)
|
||||||
} else {
|
} else {
|
||||||
Logger.Printf("✅ Loaded: %s", file)
|
log.Printf("✅ Loaded: %s", file)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Logger.Printf("❌ Not found: %s", file)
|
log.Printf("❌ Not found: %s", file)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -111,7 +112,7 @@ func getEnvironment() Environment {
|
|||||||
case "production", "prod":
|
case "production", "prod":
|
||||||
return Production
|
return Production
|
||||||
default:
|
default:
|
||||||
Logger.Printf("⚠️ Unknown environment '%s', defaulting to development", env)
|
log.Printf("⚠️ Unknown environment '%s', defaulting to development", env)
|
||||||
return Development
|
return Development
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -168,7 +169,7 @@ func getEnv(key, defaultValue string) string {
|
|||||||
func getRequiredEnv(key string) string {
|
func getRequiredEnv(key string) string {
|
||||||
value := os.Getenv(key)
|
value := os.Getenv(key)
|
||||||
if value == "" {
|
if value == "" {
|
||||||
Logger.Fatalf("❌ Required environment variable %s is not set", key)
|
log.Fatalf("❌ Required environment variable %s is not set", key)
|
||||||
}
|
}
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
@@ -176,29 +177,29 @@ func getRequiredEnv(key string) string {
|
|||||||
// logConfig logs configuration (without sensitive data)
|
// logConfig logs configuration (without sensitive data)
|
||||||
func logConfig(config *Config) {
|
func logConfig(config *Config) {
|
||||||
// Environment banner
|
// Environment banner
|
||||||
Logger.Printf("")
|
log.Printf("")
|
||||||
Logger.Printf("╔══════════════════════════════════════════════════════════════╗")
|
log.Printf("╔══════════════════════════════════════════════════════════════╗")
|
||||||
Logger.Printf("║ COUNTER APPLICATION ║")
|
log.Printf("║ COUNTER APPLICATION ║")
|
||||||
Logger.Printf("║ ║")
|
log.Printf("║ ║")
|
||||||
Logger.Printf("║ 🌍 ENVIRONMENT: %-15s ║", strings.ToUpper(string(config.Environment)))
|
log.Printf("║ 🌍 ENVIRONMENT: %-15s ║", strings.ToUpper(string(config.Environment)))
|
||||||
Logger.Printf("║ 🚀 MODE: %-20s ║", config.GinMode)
|
log.Printf("║ 🚀 MODE: %-20s ║", config.GinMode)
|
||||||
Logger.Printf("║ 🔧 DEBUG: %-20s ║", fmt.Sprintf("%t", config.Debug))
|
log.Printf("║ 🔧 DEBUG: %-20s ║", fmt.Sprintf("%t", config.Debug))
|
||||||
Logger.Printf("║ 📊 LOG LEVEL: %-15s ║", config.LogLevel)
|
log.Printf("║ 📊 LOG LEVEL: %-15s ║", config.LogLevel)
|
||||||
Logger.Printf("║ 🌐 PORT: %-20s ║", config.Port)
|
log.Printf("║ 🌐 PORT: %-20s ║", config.Port)
|
||||||
Logger.Printf("║ 📈 METRICS PORT: %-15s ║", config.MetricsPort)
|
log.Printf("║ 📈 METRICS PORT: %-15s ║", config.MetricsPort)
|
||||||
Logger.Printf("║ 📝 LOG DIR: %-20s ║", config.LogDir)
|
log.Printf("║ 📝 LOG DIR: %-20s ║", config.LogDir)
|
||||||
Logger.Printf("║ 📦 LOG VOLUME: %-18s ║", config.LogVolume)
|
log.Printf("║ 📦 LOG VOLUME: %-18s ║", config.LogVolume)
|
||||||
Logger.Printf("║ ║")
|
log.Printf("║ ║")
|
||||||
Logger.Printf("║ 📁 Configuration Files Loaded: ║")
|
log.Printf("║ 📁 Configuration Files Loaded: ║")
|
||||||
Logger.Printf("║ • .env (base configuration) ║")
|
log.Printf("║ • .env (base configuration) ║")
|
||||||
Logger.Printf("║ • .env.%s (environment-specific) ║", config.Environment)
|
log.Printf("║ • .env.%s (environment-specific) ║", config.Environment)
|
||||||
Logger.Printf("║ ║")
|
log.Printf("║ ║")
|
||||||
Logger.Printf("║ 🔐 Security: ║")
|
log.Printf("║ 🔐 Security: ║")
|
||||||
Logger.Printf("║ • Database: %s ║", maskDatabaseURL(config.DatabaseURL))
|
log.Printf("║ • Database: %s ║", maskDatabaseURL(config.DatabaseURL))
|
||||||
Logger.Printf("║ • JWT Secret: %s ║", maskSecret(config.JWTSecret))
|
log.Printf("║ • JWT Secret: %s ║", maskSecret(config.JWTSecret))
|
||||||
Logger.Printf("║ ║")
|
log.Printf("║ ║")
|
||||||
Logger.Printf("╚══════════════════════════════════════════════════════════════╝")
|
log.Printf("╚══════════════════════════════════════════════════════════════╝")
|
||||||
Logger.Printf("")
|
log.Printf("")
|
||||||
}
|
}
|
||||||
|
|
||||||
// maskDatabaseURL masks sensitive parts of database URL
|
// maskDatabaseURL masks sensitive parts of database URL
|
||||||
|
|||||||
Reference in New Issue
Block a user