diff options
Diffstat (limited to 'internal/log/log.go')
| -rw-r--r-- | internal/log/log.go | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/internal/log/log.go b/internal/log/log.go index 53671b3..6a48ad7 100644 --- a/internal/log/log.go +++ b/internal/log/log.go @@ -14,25 +14,22 @@ import ( // This can be done as this function sets the logger as the default logger in slog // It returns the log file and the error // This log file should be closed at the end -func Init(lvl slog.Level, dir string) (*os.File, error) { +func Init(lvl slog.Level, dir string) (*FileRotater, error) { err := os.MkdirAll(dir, 0o700) if err != nil { return nil, err } name := path.Join(dir, "log") - f, err := os.OpenFile( - name, - os.O_RDWR|os.O_CREATE|os.O_APPEND, - 0o666, - ) + + fr, err := NewFileRotater(name) if err != nil { - return nil, fmt.Errorf("failed creating log: %w", err) + return nil, fmt.Errorf("failed creating log rotater: %w", err) } - multi := io.MultiWriter(os.Stdout, f) + multi := io.MultiWriter(os.Stdout, fr) handler := slog.NewTextHandler(multi, &slog.HandlerOptions{ Level: lvl, }) logger := slog.New(handler) slog.SetDefault(logger) - return f, nil + return fr, nil } |
