Skip to content

Commit aa12057

Browse files
committed
add lumberjack to rotate coderd logs
1 parent f85ef84 commit aa12057

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

cli/clilog/clilog.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import (
44
"context"
55
"fmt"
66
"io"
7-
"os"
87
"regexp"
98
"strings"
109

1110
"golang.org/x/xerrors"
11+
"gopkg.in/natefinch/lumberjack.v2"
1212

1313
"cdr.dev/slog"
1414
"cdr.dev/slog/sloggers/sloghuman"
@@ -112,13 +112,17 @@ func (b *Builder) Build(inv *serpent.Invocation) (log slog.Logger, closeLog func
112112
sinks = append(sinks, sinkFn(inv.Stderr))
113113

114114
default:
115-
fi, err := os.OpenFile(loc, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0o644)
116-
if err != nil {
117-
return xerrors.Errorf("open log file %q: %w", loc, err)
115+
logWriter := &lumberjack.Logger{
116+
Filename: loc,
117+
MaxSize: 5, // MB
118+
// Without this, rotated logs will never be deleted.
119+
MaxBackups: 1,
118120
}
119-
closers = append(closers, fi.Close)
120-
sinks = append(sinks, sinkFn(fi))
121+
closers = append(closers, logWriter.Close)
122+
sinks = append(sinks, sinkFn(logWriter))
123+
121124
}
125+
122126
return nil
123127
}
124128

0 commit comments

Comments
 (0)