diff --git a/internal/engine/logs/logger.go b/internal/engine/logs/logger.go index c6cacb3..459dff2 100644 --- a/internal/engine/logs/logger.go +++ b/internal/engine/logs/logger.go @@ -10,10 +10,7 @@ import ( "log/slog" "os" "path/filepath" - "regexp" - "strings" - "github.com/akyaiy/GoSally-mvp/internal/core/run_manager" "github.com/akyaiy/GoSally-mvp/internal/engine/config" "gopkg.in/natefinch/lumberjack.v2" ) @@ -32,11 +29,11 @@ func (w *SlogWriter) Write(p []byte) (n int, err error) { } // SetupLogger initializes and returns a logger based on the provided environment. -func SetupLogger(o config.Log) (*slog.Logger, error) { +func SetupLogger(o *config.Log) (*slog.Logger, error) { var handlerOpts = slog.HandlerOptions{} var writer io.Writer = os.Stdout - switch o.Level { + switch *o.Level { case "debug": GlobalLevel = slog.LevelDebug handlerOpts.Level = slog.LevelDebug @@ -48,32 +45,9 @@ func SetupLogger(o config.Log) (*slog.Logger, error) { handlerOpts.Level = slog.LevelInfo } - if o.OutPath != "" { - repl := map[string]string{ - "tmp": filepath.Clean(run_manager.RuntimeDir()), - } - re := regexp.MustCompile(`%(\w+)%`) - result := re.ReplaceAllStringFunc(o.OutPath, func(match string) string { - sub := re.FindStringSubmatch(match) - if len(sub) < 2 { - return match - } - key := sub[1] - if val, ok := repl[key]; ok { - return val - } - return match - }) - - if strings.Contains(o.OutPath, "%tmp%") { - relPath := strings.TrimPrefix(result, filepath.Clean(run_manager.RuntimeDir())) - if err := run_manager.SetDir(relPath); err != nil { - return nil, err - } - } - + if *o.OutPath != "" { logFile := &lumberjack.Logger{ - Filename: filepath.Join(result, "event.log"), + Filename: filepath.Join(*o.OutPath, "event.log"), MaxSize: 10, MaxBackups: 5, MaxAge: 28,