Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd6442db

Browse files
authored
feat(cli): rotate file logs for coderd (#15438)
Related to#15309 As we already are doing for agent logs - this PR is enabling the logsrotation for coderd logs.Currently keeping the same logic than we had for agent - with 5MB as thefile size for rotation.
1 parent56e219b commitd6442db

File tree

2 files changed

+8
-32
lines changed

2 files changed

+8
-32
lines changed

‎cli/clilog/clilog.go‎

Lines changed: 8 additions & 7 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"
@@ -104,20 +104,21 @@ func (b *Builder) Build(inv *serpent.Invocation) (log slog.Logger, closeLog func
104104
addSinkIfProvided:=func(sinkFnfunc(io.Writer) slog.Sink,locstring)error {
105105
switchloc {
106106
case"":
107-
108107
case"/dev/stdout":
109108
sinks=append(sinks,sinkFn(inv.Stdout))
110109

111110
case"/dev/stderr":
112111
sinks=append(sinks,sinkFn(inv.Stderr))
113112

114113
default:
115-
fi,err:=os.OpenFile(loc,os.O_WRONLY|os.O_CREATE|os.O_APPEND,0o644)
116-
iferr!=nil {
117-
returnxerrors.Errorf("open log file %q: %w",loc,err)
114+
logWriter:=&lumberjack.Logger{
115+
Filename:loc,
116+
MaxSize:5,// MB
117+
// Without this, rotated logs will never be deleted.
118+
MaxBackups:1,
118119
}
119-
closers=append(closers,fi.Close)
120-
sinks=append(sinks,sinkFn(fi))
120+
closers=append(closers,logWriter.Close)
121+
sinks=append(sinks,sinkFn(logWriter))
121122
}
122123
returnnil
123124
}

‎cli/clilog/clilog_test.go‎

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package clilog_test
22

33
import (
44
"encoding/json"
5-
"io/fs"
65
"os"
76
"path/filepath"
87
"strings"
@@ -145,30 +144,6 @@ func TestBuilder(t *testing.T) {
145144
assertLogsJSON(t,tempJSON,info,infoLog,warn,warnLog)
146145
})
147146
})
148-
149-
t.Run("NotFound",func(t*testing.T) {
150-
t.Parallel()
151-
152-
tempFile:=filepath.Join(t.TempDir(),"doesnotexist","test.log")
153-
cmd:=&serpent.Command{
154-
Use:"test",
155-
Handler:func(inv*serpent.Invocation)error {
156-
logger,closeLog,err:=clilog.New(
157-
clilog.WithFilter("foo","baz"),
158-
clilog.WithHuman(tempFile),
159-
clilog.WithVerbose(),
160-
).Build(inv)
161-
iferr!=nil {
162-
returnerr
163-
}
164-
defercloseLog()
165-
logger.Error(inv.Context(),"you will never see this")
166-
returnnil
167-
},
168-
}
169-
err:=cmd.Invoke().Run()
170-
require.ErrorIs(t,err,fs.ErrNotExist)
171-
})
172147
}
173148

174149
var (

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp