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  }