Skip to content

Commit cbaa02f

Browse files
committed
fix: barry quick fix, 2025-09-06 19:03:03
1 parent 155d563 commit cbaa02f

File tree

4 files changed

+33
-56
lines changed

4 files changed

+33
-56
lines changed

v2/result/error.go

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@ import (
55
"fmt"
66

77
"github.com/rs/zerolog"
8-
"google.golang.org/protobuf/encoding/prototext"
98

109
"github.com/pubgo/funk/errors"
1110
"github.com/pubgo/funk/errors/errutil"
12-
"github.com/pubgo/funk/log"
1311
)
1412

1513
var _ Catchable = new(Error)
@@ -37,32 +35,12 @@ func (e Error) Map(fn func(error) error) Error {
3735
}
3836

3937
func (e Error) LogCtx(ctx context.Context, events ...func(e *zerolog.Event)) Error {
40-
if e.IsErr() {
41-
err := e.err
42-
log.Error(ctx).
43-
Func(func(e *zerolog.Event) {
44-
for _, fn := range events {
45-
fn(e)
46-
}
47-
}).
48-
Str(zerolog.ErrorFieldName, err.Error()).
49-
CallerSkipFrame(1).
50-
Str("error_id", errors.GetErrorId(err)).
51-
Msgf("%s\n%s", err.Error(), prototext.Format(errors.ParseErrToPb(err)))
52-
}
53-
38+
logErr(ctx, e.err, events...)
5439
return e
5540
}
5641

57-
func (e Error) Log(contexts ...context.Context) Error {
58-
if e.IsErr() {
59-
log.Error(contexts...).
60-
Str(zerolog.ErrorFieldName, e.err.Error()).
61-
CallerSkipFrame(1).
62-
Str("error_id", errors.GetErrorId(e.err)).
63-
Msgf("%s\n%s", e.err.Error(), prototext.Format(errors.ParseErrToPb(e.err)))
64-
}
65-
42+
func (e Error) Log(events ...func(e *zerolog.Event)) Error {
43+
logErr(nil, e.err, events...)
6644
return e
6745
}
6846

v2/result/error_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
package result
22

33
import (
4-
"github.com/rs/zerolog"
54
"testing"
65

76
"github.com/pubgo/funk/errors"
7+
"github.com/rs/zerolog"
88
)
99

1010
func TestErrorLog(t *testing.T) {
1111
ErrOf(errors.New("test")).
12-
Log().
13-
LogCtx(nil, func(e *zerolog.Event) {
14-
e.Str("abc", "test")
12+
Log(func(e *zerolog.Event) {
13+
e.Str("test-log", "ok")
1514
})
1615
}

v2/result/result.go

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,9 @@ import (
77

88
"github.com/rs/zerolog"
99
"github.com/samber/lo"
10-
"google.golang.org/protobuf/encoding/prototext"
1110

1211
"github.com/pubgo/funk"
1312
"github.com/pubgo/funk/errors"
14-
"github.com/pubgo/funk/log"
1513
)
1614

1715
var _ Catchable = new(Result[any])
@@ -108,33 +106,12 @@ func (r Result[T]) Inspect(fn func(T)) Result[T] {
108106
}
109107

110108
func (r Result[T]) LogCtx(ctx context.Context, events ...func(e *zerolog.Event)) Result[T] {
111-
if r.IsErr() {
112-
err := r.err
113-
log.Error(ctx).
114-
Func(func(e *zerolog.Event) {
115-
for _, fn := range events {
116-
fn(e)
117-
}
118-
}).
119-
Str(zerolog.ErrorFieldName, err.Error()).
120-
CallerSkipFrame(1).
121-
Str("error_id", errors.GetErrorId(err)).
122-
Msgf("%s\n%s", err.Error(), prototext.Format(errors.ParseErrToPb(err)))
123-
}
124-
109+
logErr(ctx, r.err, events...)
125110
return r
126111
}
127112

128-
func (r Result[T]) Log(contexts ...context.Context) Result[T] {
129-
if r.IsErr() {
130-
err := r.err
131-
log.Error(contexts...).
132-
Str(zerolog.ErrorFieldName, err.Error()).
133-
CallerSkipFrame(1).
134-
Str("error_id", errors.GetErrorId(err)).
135-
Msgf("%s\n%s", err.Error(), prototext.Format(errors.ParseErrToPb(err)))
136-
}
137-
113+
func (r Result[T]) Log(events ...func(e *zerolog.Event)) Result[T] {
114+
logErr(nil, r.err, events...)
138115
return r
139116
}
140117

v2/result/util.go

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ package result
33
import (
44
"context"
55
"fmt"
6+
67
"log/slog"
78
"reflect"
89
"runtime/debug"
910
"strings"
1011

12+
"github.com/rs/zerolog"
1113
"github.com/samber/lo"
12-
14+
"google.golang.org/protobuf/encoding/prototext"
15+
1316
"github.com/pubgo/funk/errors"
1417
"github.com/pubgo/funk/generic"
1518
"github.com/pubgo/funk/log"
@@ -232,3 +235,23 @@ func setError(setter ErrSetter, err error) {
232235
ret.err = err
233236
}
234237
}
238+
239+
func logErr(ctx context.Context, err error, events ...func(e *zerolog.Event)) {
240+
if err == nil {
241+
return
242+
}
243+
244+
log.Error(ctx).
245+
Func(func(e *zerolog.Event) {
246+
for _, fn := range events {
247+
fn(e)
248+
}
249+
250+
if id := errors.GetErrorId(err); id != "" {
251+
e.Str("error_id", id)
252+
}
253+
}).
254+
Str(zerolog.ErrorFieldName, err.Error()).
255+
CallerSkipFrame(2).
256+
Msgf("%s\n%s", err.Error(), prototext.Format(errors.ParseErrToPb(err)))
257+
}

0 commit comments

Comments
 (0)