diff --git a/errors/err_code.go b/errors/err_code.go index 819fdec4..01ccb6c6 100644 --- a/errors/err_code.go +++ b/errors/err_code.go @@ -12,6 +12,8 @@ import ( "github.com/pubgo/funk/proto/errorpb" "github.com/pubgo/funk/stack" "github.com/samber/lo" + "golang.org/x/text/cases" + "golang.org/x/text/language" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/structpb" ) @@ -45,7 +47,8 @@ func NewCodeErrWithMsg(code *errorpb.ErrCode, msg string, details ...proto.Messa return nil } - code.Message = strings.ToTitle(strings.TrimSpace(msg)) + caser := cases.Title(language.English) + code.Message = caser.String(strings.TrimSpace(msg)) return NewCodeErr(code, details...) } diff --git a/errors/errors.go b/errors/errors.go index 2bb35067..f98f0818 100644 --- a/errors/errors.go +++ b/errors/errors.go @@ -3,6 +3,7 @@ package errors import ( "errors" "fmt" + "os" "reflect" "runtime/debug" @@ -60,7 +61,7 @@ func Debug(err error) { err = parseError(err) if _err, ok := err.(fmt.Stringer); ok { - fmt.Println(_err.String()) + _, _ = fmt.Fprintln(os.Stderr, _err.String()) return } diff --git a/errors/z_err_code_test.go b/errors/z_err_code_test.go index a251c28e..65e8c202 100644 --- a/errors/z_err_code_test.go +++ b/errors/z_err_code_test.go @@ -16,3 +16,13 @@ func TestErrCode(t *testing.T) { t.Log(errors.As(err1, testcodepb.TestErrCodeDbConn)) } + +func TestNewCodeErrWithMsg(t *testing.T) { + err1 := errors.NewCodeErrWithMsg(testcodepb.TestErrCodeDbConn, "hello world") + var err2 *errors.ErrCode + t.Log(errors.As(err1, &err2)) + if err2.Error() != "Hello World" { + t.Fatal("message not match") + } + t.Log(err2.Error()) +} diff --git a/go.mod b/go.mod index 656a549a..675f7f0f 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,6 @@ module github.com/pubgo/funk go 1.22 -replace github.com/ugorji/go/codec => github.com/ugorji/go/codec v1.2.7 - require ( dario.cat/mergo v1.0.0 entgo.io/ent v0.13.1