gitee.com/woood2/luca@v1.0.4/cmd/micro/internal/output/format.go (about) 1 package output 2 3 import ( 4 "context" 5 "gitee.com/woood2/luca/internal/errcode" 6 "gitee.com/woood2/luca/internal/trace" 7 "go.uber.org/zap" 8 ) 9 10 var logger *zap.Logger 11 12 func SetLogger(zapLogger *zap.Logger) { 13 logger = zapLogger.WithOptions(zap.AddCallerSkip(1)) 14 } 15 16 func Err(ctx context.Context, err error) (*errcode.Resp, error) { 17 code := "" 18 msg := "" 19 if c, ok := errcode.MicroErrCode[err]; ok { 20 code = c 21 msg = err.Error() 22 } 23 if code == "" { 24 logger.Error("unknown err", 25 zap.String("traceID", trace.ID(ctx)), 26 zap.Any("err", err), 27 ) 28 return nil, err 29 } 30 return &errcode.Resp{ 31 ErrCode: code, 32 ErrMsg: msg, 33 Data: nil, 34 }, nil 35 } 36 37 func Succ(data interface{}) (*errcode.Resp, error) { 38 return &errcode.Resp{ 39 ErrCode: "", 40 ErrMsg: "", 41 Data: data, 42 }, nil 43 }