diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/git-lfs-authenticate/main.go | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/cmd/git-lfs-authenticate/main.go b/cmd/git-lfs-authenticate/main.go index d2dee21..dd39606 100644 --- a/cmd/git-lfs-authenticate/main.go +++ b/cmd/git-lfs-authenticate/main.go | |||
@@ -13,8 +13,6 @@ import ( | |||
13 | "os/exec" | 13 | "os/exec" |
14 | "path" | 14 | "path" |
15 | "strings" | 15 | "strings" |
16 | "sync" | ||
17 | "sync/atomic" | ||
18 | "time" | 16 | "time" |
19 | 17 | ||
20 | "github.com/golang-jwt/jwt/v5" | 18 | "github.com/golang-jwt/jwt/v5" |
@@ -24,9 +22,7 @@ import ( | |||
24 | type logger struct { | 22 | type logger struct { |
25 | reqID string | 23 | reqID string |
26 | time time.Time | 24 | time time.Time |
27 | m sync.Mutex | 25 | wc io.WriteCloser |
28 | // Contained value must implement io.WriteCloser | ||
29 | wc atomic.Value | ||
30 | } | 26 | } |
31 | 27 | ||
32 | func newLogger(reqID string) *logger { | 28 | func newLogger(reqID string) *logger { |
@@ -34,21 +30,13 @@ func newLogger(reqID string) *logger { | |||
34 | } | 30 | } |
35 | 31 | ||
36 | func (l *logger) writer() io.WriteCloser { | 32 | func (l *logger) writer() io.WriteCloser { |
37 | w := l.wc.Load() | 33 | if l.wc == nil { |
38 | if w == nil { | 34 | os.MkdirAll(".gitolfs3/logs/", 0o700) // Mode: drwx------ |
39 | l.m.Lock() | 35 | ts := l.time.Format("2006-01-02") |
40 | if l.wc.Load() == nil { | 36 | path := fmt.Sprintf(".gitolfs3/logs/gitolfs3-%s-%s.log", ts, l.reqID) |
41 | os.MkdirAll(".gitolfs3/logs/", 0o700) // Mode: drwx------ | 37 | l.wc, _ = os.Create(path) |
42 | ts := l.time.Format("2006-01-02") | ||
43 | path := fmt.Sprintf(".gitolfs3/logs/gitolfs3-%s-%s.log", ts, l.reqID) | ||
44 | var err error | ||
45 | if w, err = os.Create(path); err == nil { | ||
46 | l.wc.Store(w) | ||
47 | } | ||
48 | } | ||
49 | l.m.Unlock() | ||
50 | } | 38 | } |
51 | return w.(io.WriteCloser) | 39 | return l.wc |
52 | } | 40 | } |
53 | 41 | ||
54 | func (l *logger) logf(msg string, args ...any) { | 42 | func (l *logger) logf(msg string, args ...any) { |
@@ -56,8 +44,8 @@ func (l *logger) logf(msg string, args ...any) { | |||
56 | } | 44 | } |
57 | 45 | ||
58 | func (l *logger) close() { | 46 | func (l *logger) close() { |
59 | if wc := l.wc.Load(); wc != nil { | 47 | if l.wc != nil { |
60 | wc.(io.Closer).Close() | 48 | l.wc.Close() |
61 | } | 49 | } |
62 | } | 50 | } |
63 | 51 | ||