Skip to content

Commit ba347ae

Browse files
authored
feat: refactor log framework (#572)
1 parent fe9d312 commit ba347ae

File tree

124 files changed

+1651
-2263
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+1651
-2263
lines changed

.github/workflows/golangci-lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
uses: golangci/golangci-lint-action@v3
3535
with:
3636
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
37-
version: v1.49
37+
version: v1.52
3838
# Optional: working directory, useful for monorepos
3939
working-directory: internal
4040

client/client.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,10 @@ func (c *client) Eventbus(ctx context.Context, opts ...api.EventbusOption) api.E
5858

5959
err := GetEventbusIDIfNotSet(ctx, c.Endpoints, defaultOpts)
6060
if err != nil {
61-
log.Error(ctx, "get eventbus id failed", map[string]interface{}{
62-
log.KeyError: err,
63-
"eventbus_name": defaultOpts.Name,
64-
"eventbus_id": defaultOpts.ID,
65-
})
61+
log.Error(ctx).Err(err).
62+
Str("eventbus_name", defaultOpts.Name).
63+
Uint64("eventbus_id", defaultOpts.ID).
64+
Msg("get eventbus id failed")
6665
return nil
6766
}
6867

@@ -129,4 +128,3 @@ func GetEventbusIDIfNotSet(ctx context.Context, endpoints []string, opts *api.Ev
129128
}
130129
return nil
131130
}
132-

client/go.mod

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@ require (
2525
github.com/google/uuid v1.3.0 // indirect
2626
github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 // indirect
2727
github.com/json-iterator/go v1.1.12 // indirect
28+
github.com/mattn/go-colorable v0.1.12 // indirect
29+
github.com/mattn/go-isatty v0.0.14 // indirect
2830
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
2931
github.com/modern-go/reflect2 v1.0.2 // indirect
3032
github.com/pkg/errors v0.9.1 // indirect
31-
github.com/sirupsen/logrus v1.9.0 // indirect
33+
github.com/rs/zerolog v1.29.0 // indirect
3234
go.opentelemetry.io/otel v1.11.2 // indirect
3335
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2 // indirect
3436
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.2 // indirect

client/go.sum

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWH
5757
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
5858
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
5959
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
60+
github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
6061
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
6162
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
6263
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -78,6 +79,7 @@ github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0=
7879
github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
7980
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
8081
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
82+
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
8183
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
8284
github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ=
8385
github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
@@ -154,6 +156,10 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
154156
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
155157
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
156158
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
159+
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
160+
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
161+
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
162+
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
157163
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
158164
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
159165
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -167,10 +173,11 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
167173
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
168174
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
169175
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
176+
github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
177+
github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w=
178+
github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0=
170179
github.com/scylladb/go-set v1.0.2 h1:SkvlMCKhP0wyyct6j+0IHJkBkSZL+TDzZ4E7f7BCcRE=
171180
github.com/scylladb/go-set v1.0.2/go.mod h1:DkpGd78rljTxKAnTDPFqXSGxvETQnJyuSOQwsHycqfs=
172-
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
173-
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
174181
github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N3yZFZkDFs=
175182
github.com/smartystreets/goconvey v1.7.2 h1:9RBaZCeXEQ3UselpuwUQHltGVXvdwm6cv1hgR6gDIPg=
176183
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
@@ -325,7 +332,8 @@ golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7w
325332
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
326333
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
327334
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
328-
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
335+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
336+
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
329337
golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
330338
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
331339
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=

client/internal/vanus/eventbus/name_service.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ package eventbus
1717
import (
1818
// standard libraries.
1919
"context"
20-
2120
// third-party libraries.
2221
"go.opentelemetry.io/otel/trace"
2322
"google.golang.org/grpc/credentials/insecure"
@@ -56,10 +55,7 @@ func (ns *NameService) LookupWritableLogs(ctx context.Context, eventbusID uint64
5655

5756
resp, err := ns.client.GetEventbus(ctx, req)
5857
if err != nil {
59-
log.Error(context.Background(), "get eventbus failed", map[string]interface{}{
60-
log.KeyError: err,
61-
"eventbus_id": eventbusID,
62-
})
58+
log.Error().Err(err).Uint64("eventbus_id", eventbusID).Msg("get eventbus failed")
6359
return nil, err
6460
}
6561
return toLogs(resp.GetLogs()), nil
@@ -75,10 +71,9 @@ func (ns *NameService) LookupReadableLogs(ctx context.Context, eventbusID uint64
7571

7672
resp, err := ns.client.GetEventbus(ctx, req)
7773
if err != nil {
78-
log.Error(context.Background(), "get eventbus failed", map[string]interface{}{
79-
log.KeyError: err,
80-
"eventbus_id": eventbusID,
81-
})
74+
log.Error().Err(err).
75+
Uint64("eventbus_id", eventbusID).
76+
Msg("get eventbus failed")
8277
return nil, err
8378
}
8479

client/internal/vanus/eventlog/name_service.go

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,10 @@ func (ns *NameService) LookupWritableSegment(ctx context.Context, logID uint64)
5959

6060
resp, err := ns.client.GetAppendableSegment(ctx, req)
6161
if err != nil {
62-
log.Error(context.Background(), "get appendable segment failed", map[string]interface{}{
63-
log.KeyError: err,
64-
"eventlog": logID,
65-
"resp": resp.String(),
66-
})
62+
log.Error().Err(err).
63+
Stringer("response", resp).
64+
Uint64("eventlog", logID).
65+
Msg("get appendable segment failed")
6766
return nil, err
6867
}
6968

@@ -87,11 +86,10 @@ func (ns *NameService) LookupReadableSegments(ctx context.Context, logID uint64)
8786

8887
resp, err := ns.client.ListSegment(ctx, req)
8988
if err != nil {
90-
log.Error(context.Background(), "list segment failed", map[string]interface{}{
91-
log.KeyError: err,
92-
"eventlog": logID,
93-
"resp": resp.String(),
94-
})
89+
log.Error().Err(err).
90+
Uint64("eventlog", logID).
91+
Stringer("response", resp).
92+
Msg("list segment failed")
9593
return nil, err
9694
}
9795

client/pkg/eventbus/eventbus.go

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,7 @@ func NewEventbus(cfg *eb.Config) *eventbus {
6464
for {
6565
re, ok := <-ch
6666
if !ok {
67-
log.Debug(context.Background(), "eventbus quits writable watcher", map[string]interface{}{
68-
"eventbus_id": bus.cfg.ID,
69-
})
67+
log.Debug().Uint64("eventbus_id", bus.cfg.ID).Msg("eventbus quits writable watcher")
7068
break
7169
}
7270

@@ -86,9 +84,7 @@ func NewEventbus(cfg *eb.Config) *eventbus {
8684
for {
8785
re, ok := <-ch
8886
if !ok {
89-
log.Debug(context.Background(), "eventbus quits readable watcher", map[string]interface{}{
90-
"eventbus_id": bus.cfg.ID,
91-
})
87+
log.Debug().Uint64("eventbus_id", bus.cfg.ID).Msg("eventbus quits readable watcher")
9288
break
9389
}
9490

@@ -458,21 +454,16 @@ func (w *busWriter) Append(ctx context.Context, events *cloudevents.CloudEventBa
458454
// 1. pick a writer of eventlog
459455
lw, err := w.pickWritableLog(_ctx, writeOpts)
460456
if err != nil {
461-
log.Error(context.Background(), "pick writable log failed", map[string]interface{}{
462-
log.KeyError: err,
463-
"eventbus_id": w.ebus.ID(),
464-
})
457+
log.Error().Err(err).Uint64("eventbus_id", w.ebus.ID()).Msg("pick writable log failed")
465458
return nil, err
466459
}
467460

468461
// 2. append the event to the eventlog
469462
offsets, err := lw.Append(_ctx, events)
470463
if err != nil {
471-
log.Error(context.Background(), "logwriter append failed", map[string]interface{}{
472-
log.KeyError: err,
473-
"eventbus_id": w.ebus.ID(),
474-
"eventlog_id": lw.Log().ID(),
475-
})
464+
log.Error().Err(err).
465+
Uint64("eventbus_id", w.ebus.ID()).
466+
Uint64("eventlog_id", lw.Log().ID()).Msg("log-writer append failed")
476467
return nil, err
477468
}
478469

@@ -535,20 +526,18 @@ func (r *busReader) Read(ctx context.Context, opts ...api.ReadOption) (events *c
535526
// 1. pick a reader of eventlog
536527
lr, err := r.pickReadableLog(_ctx, readOpts)
537528
if err != nil {
538-
log.Error(context.Background(), "pick readable log failed", map[string]interface{}{
539-
log.KeyError: err,
540-
"eventbus_id": r.ebus.ID(),
541-
})
529+
log.Error().Err(err).
530+
Uint64("eventbus_id", r.ebus.ID()).
531+
Msg("pick readable log failed")
542532
return nil, 0, 0, err
543533
}
544534

545535
// TODO(jiangkai): refactor eventlog interface to avoid seek every time, by jiangkai, 2022.10.24
546536
off, err = lr.Seek(_ctx, readOpts.Policy.Offset(), io.SeekStart)
547537
if err != nil {
548-
log.Error(context.Background(), "seek offset failed", map[string]interface{}{
549-
log.KeyError: err,
550-
"eventbus_id": r.ebus.ID(),
551-
})
538+
log.Error().Err(err).
539+
Uint64("eventbus_id", r.ebus.ID()).
540+
Msg("seek offset failed")
552541
return nil, 0, 0, err
553542
}
554543

client/pkg/eventbus/lookup.go

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,10 @@ func WatchWritableLogs(bus *eventbus) *WritableLogsWatcher {
4949
ch := make(chan *WritableLogsResult, 1)
5050
w := primitive.NewWatcher(30*time.Second, func() {
5151
rs, err := bus.nameService.LookupWritableLogs(context.Background(), bus.cfg.ID)
52-
log.Debug(context.Background(), "lookup writable logs", map[string]interface{}{
53-
log.KeyError: err,
54-
"eventbus_id": bus.cfg.ID,
55-
"logs": rs,
56-
})
52+
log.Debug().Err(err).
53+
Uint64("eventbus_id", bus.cfg.ID).
54+
Interface("logs", rs).
55+
Msg("lookup writable logs")
5756
ch <- &WritableLogsResult{
5857
Eventlogs: rs,
5958
Err: err,
@@ -91,11 +90,10 @@ func WatchReadableLogs(bus *eventbus) *ReadableLogsWatcher {
9190
ch := make(chan *ReadableLogsResult, 1)
9291
w := primitive.NewWatcher(30*time.Second, func() {
9392
rs, err := bus.nameService.LookupReadableLogs(context.Background(), bus.cfg.ID)
94-
log.Debug(context.Background(), "lookup readable logs", map[string]interface{}{
95-
log.KeyError: err,
96-
"eventbus_id": bus.cfg.ID,
97-
"logs": rs,
98-
})
93+
log.Debug().Err(err).
94+
Uint64("eventbus_id", bus.cfg.ID).
95+
Interface("logs", rs).
96+
Msg("lookup readable logs")
9997
ch <- &ReadableLogsResult{
10098
Eventlogs: rs,
10199
Err: err,

client/pkg/eventlog/eventlog_impl.go

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,8 @@ func NewEventlog(cfg *el.Config) Eventlog {
5858
for {
5959
r, ok := <-ch
6060
if !ok {
61-
log.Debug(context.Background(), "eventlog quits writable watcher", map[string]interface{}{
62-
"eventlog": l.cfg.ID,
63-
})
61+
log.Debug().Uint64("eventlog", l.cfg.ID).
62+
Msg("eventlog quits writable watcher")
6463
break
6564
}
6665

@@ -80,9 +79,9 @@ func NewEventlog(cfg *el.Config) Eventlog {
8079
for {
8180
rs, ok := <-ch
8281
if !ok {
83-
log.Debug(context.Background(), "eventlog quits readable watcher", map[string]interface{}{
84-
"eventlog": l.cfg.ID,
85-
})
82+
log.Debug().
83+
Uint64("eventlog", l.cfg.ID).
84+
Msg("eventlog quits readable watcher")
8685
break
8786
}
8887
ctx, span := l.tracer.Start(context.Background(), "updateReadableSegmentsTask")
@@ -220,9 +219,7 @@ func (l *eventlog) updateWritableSegment(ctx context.Context, r *record.Segment)
220219

221220
segment, err := newSegment(ctx, r, true)
222221
if err != nil {
223-
log.Error(context.Background(), "new segment failed", map[string]interface{}{
224-
log.KeyError: err,
225-
})
222+
log.Error().Err(err).Msg("new segment failed")
226223
return
227224
}
228225

@@ -280,9 +277,9 @@ func (l *eventlog) updateReadableSegments(ctx context.Context, rs []*record.Segm
280277
}
281278
if err != nil {
282279
// FIXME: create or update segment failed
283-
log.Debug(context.Background(), "update readable segment failed", map[string]interface{}{
284-
"segment": segment.id,
285-
})
280+
log.Debug().
281+
Uint64("segment", segment.id).
282+
Msg("update readable segment failed")
286283
continue
287284
}
288285
segments = append(segments, segment)
@@ -352,16 +349,13 @@ func (w *logWriter) Append(ctx context.Context, events *cloudevents.CloudEventBa
352349
return offsets, nil
353350
}
354351
if !errors.Is(err, errors.ErrSegmentFull) {
355-
log.Error(ctx, "logwriter append failed", map[string]interface{}{
356-
log.KeyError: err,
357-
})
352+
log.Error(ctx).Err(err).Msg("log-writer append failed")
358353
return nil, err
359354
}
360-
log.Debug(ctx, "logwriter append failed cause segment full", map[string]interface{}{
361-
log.KeyError: err,
362-
"offsets": offsets,
363-
"retry_time": i,
364-
})
355+
log.Debug(ctx).
356+
Int("retry_time", i).
357+
Ints64("retry_time", offsets).
358+
Err(err).Msg("log-writer append failed cause segment full")
365359
}
366360
return nil, errors.ErrUnknown
367361
}

0 commit comments

Comments
 (0)