diff --git a/internal/utils/config_utils.go b/internal/utils/config_utils.go index 31d2641..9e3ed3c 100644 --- a/internal/utils/config_utils.go +++ b/internal/utils/config_utils.go @@ -4,9 +4,7 @@ import ( "fmt" "gpt-load/internal/models" "gpt-load/internal/types" - "io" "os" - "path/filepath" "reflect" "strconv" "strings" @@ -163,44 +161,3 @@ func GetEnvOrDefault(key, defaultValue string) string { } return defaultValue } - -// SetupLogger configures the logging system based on the provided configuration. -func SetupLogger(configManager types.ConfigManager) { - logConfig := configManager.GetLogConfig() - - // Set log level - level, err := logrus.ParseLevel(logConfig.Level) - if err != nil { - logrus.Warn("Invalid log level, using info") - level = logrus.InfoLevel - } - logrus.SetLevel(level) - - // Set log format - if logConfig.Format == "json" { - logrus.SetFormatter(&logrus.JSONFormatter{ - TimestampFormat: "2006-01-02T15:04:05.000Z07:00", // ISO 8601 format - }) - } else { - logrus.SetFormatter(&logrus.TextFormatter{ - ForceColors: true, - FullTimestamp: true, - TimestampFormat: "2006-01-02 15:04:05", - }) - } - - // Setup file logging if enabled - if logConfig.EnableFile { - logDir := filepath.Dir(logConfig.FilePath) - if err := os.MkdirAll(logDir, 0755); err != nil { - logrus.Warnf("Failed to create log directory: %v", err) - } else { - logFile, err := os.OpenFile(logConfig.FilePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) - if err != nil { - logrus.Warnf("Failed to open log file: %v", err) - } else { - logrus.SetOutput(io.MultiWriter(os.Stdout, logFile)) - } - } - } -} diff --git a/internal/utils/logger_utils.go b/internal/utils/logger_utils.go new file mode 100644 index 0000000..5b63edc --- /dev/null +++ b/internal/utils/logger_utils.go @@ -0,0 +1,51 @@ +package utils + +import ( + "gpt-load/internal/types" + "io" + "os" + "path/filepath" + + "github.com/sirupsen/logrus" +) + +// SetupLogger configures the logging system based on the provided configuration. +func SetupLogger(configManager types.ConfigManager) { + logConfig := configManager.GetLogConfig() + + // Set log level + level, err := logrus.ParseLevel(logConfig.Level) + if err != nil { + logrus.Warn("Invalid log level, using info") + level = logrus.InfoLevel + } + logrus.SetLevel(level) + + // Set log format + if logConfig.Format == "json" { + logrus.SetFormatter(&logrus.JSONFormatter{ + TimestampFormat: "2006-01-02T15:04:05.000Z07:00", // ISO 8601 format + }) + } else { + logrus.SetFormatter(&logrus.TextFormatter{ + ForceColors: true, + FullTimestamp: true, + TimestampFormat: "2006-01-02 15:04:05", + }) + } + + // Setup file logging if enabled + if logConfig.EnableFile { + logDir := filepath.Dir(logConfig.FilePath) + if err := os.MkdirAll(logDir, 0755); err != nil { + logrus.Warnf("Failed to create log directory: %v", err) + } else { + logFile, err := os.OpenFile(logConfig.FilePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) + if err != nil { + logrus.Warnf("Failed to open log file: %v", err) + } else { + logrus.SetOutput(io.MultiWriter(os.Stdout, logFile)) + } + } + } +} diff --git a/main.go b/main.go index 883069f..dfb910b 100644 --- a/main.go +++ b/main.go @@ -10,10 +10,10 @@ import ( "time" "gpt-load/internal/app" - "gpt-load/internal/config" "gpt-load/internal/container" "gpt-load/internal/models" "gpt-load/internal/types" + "gpt-load/internal/utils" "github.com/sirupsen/logrus" ) @@ -47,7 +47,7 @@ func main() { // Initialzie global logger if err := container.Invoke(func(configManager types.ConfigManager) { - config.SetupLogger(configManager) + utils.SetupLogger(configManager) }); err != nil { logrus.Fatalf("Failed to setup logger: %v", err) }