mirror of
https://github.com/go-kratos/kratos.git
synced 2025-11-06 08:59:18 +02:00
log: remove component logger to use global logger (#2061)
* remove component logger to user global logger
This commit is contained in:
@@ -20,7 +20,6 @@ type Option func(*options)
|
||||
|
||||
type options struct {
|
||||
handler HandlerFunc
|
||||
logger log.Logger
|
||||
}
|
||||
|
||||
// WithHandler with recovery handler.
|
||||
@@ -31,16 +30,14 @@ func WithHandler(h HandlerFunc) Option {
|
||||
}
|
||||
|
||||
// WithLogger with recovery logger.
|
||||
// Deprecated: use global logger instead.
|
||||
func WithLogger(logger log.Logger) Option {
|
||||
return func(o *options) {
|
||||
o.logger = logger
|
||||
}
|
||||
return func(o *options) {}
|
||||
}
|
||||
|
||||
// Recovery is a server middleware that recovers from any panics.
|
||||
func Recovery(opts ...Option) middleware.Middleware {
|
||||
op := options{
|
||||
logger: log.GetLogger(),
|
||||
handler: func(ctx context.Context, req, err interface{}) error {
|
||||
return ErrUnknownRequest
|
||||
},
|
||||
@@ -48,7 +45,6 @@ func Recovery(opts ...Option) middleware.Middleware {
|
||||
for _, o := range opts {
|
||||
o(&op)
|
||||
}
|
||||
logger := log.NewHelper(op.logger)
|
||||
return func(handler middleware.Handler) middleware.Handler {
|
||||
return func(ctx context.Context, req interface{}) (reply interface{}, err error) {
|
||||
defer func() {
|
||||
@@ -56,7 +52,7 @@ func Recovery(opts ...Option) middleware.Middleware {
|
||||
buf := make([]byte, 64<<10) //nolint:gomnd
|
||||
n := runtime.Stack(buf, false)
|
||||
buf = buf[:n]
|
||||
logger.WithContext(ctx).Errorf("%v: %+v\n%s\n", rerr, req, buf)
|
||||
log.Context(ctx).Errorf("%v: %+v\n%s\n", rerr, req, buf)
|
||||
|
||||
err = op.handler(ctx, req, rerr)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/go-kratos/kratos/v2/errors"
|
||||
"github.com/go-kratos/kratos/v2/log"
|
||||
)
|
||||
|
||||
func TestOnce(t *testing.T) {
|
||||
@@ -19,7 +18,7 @@ func TestOnce(t *testing.T) {
|
||||
next := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
panic("panic reason")
|
||||
}
|
||||
_, e := Recovery(WithLogger(log.GetLogger()))(next)(context.Background(), "panic")
|
||||
_, e := Recovery()(next)(context.Background(), "panic")
|
||||
t.Logf("succ and reason is %v", e)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user