summaryrefslogtreecommitdiff
path: root/internal/log/log.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/log/log.go')
-rw-r--r--internal/log/log.go15
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
}