diff --git a/app/main.go b/app/main.go index aa87722..3382911 100644 --- a/app/main.go +++ b/app/main.go @@ -16,6 +16,7 @@ import ( "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" "github.com/yedf/dtm/dtmsvr" "github.com/yedf/dtm/dtmsvr/storage/registry" "github.com/yedf/dtm/examples" @@ -75,7 +76,7 @@ func main() { examples.BaseAppStartup() sample := examples.Samples[os.Args[1]] - dtmimp.LogIfFatalf(sample == nil, "no sample name for %s", os.Args[1]) + logger.FatalfIf(sample == nil, "no sample name for %s", os.Args[1]) sample.Action() } select {} diff --git a/bench/http.go b/bench/http.go index 8a6a470..2e8389c 100644 --- a/bench/http.go +++ b/bench/http.go @@ -17,6 +17,7 @@ import ( "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" "github.com/yedf/dtm/dtmsvr" "github.com/yedf/dtm/examples" ) @@ -32,14 +33,14 @@ var benchBusi = fmt.Sprintf("http://localhost:%d%s", benchPort, benchAPI) func sdbGet() *sql.DB { db, err := dtmimp.PooledDB(common.Config.Store.GetDBConf()) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return db } func txGet() *sql.Tx { db := sdbGet() tx, err := db.Begin() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return tx } @@ -50,7 +51,7 @@ func reloadData() { tables := []string{"dtm_busi.user_account", "dtm_busi.user_account_log", "dtm.trans_global", "dtm.trans_branch_op", "dtm_barrier.barrier"} for _, t := range tables { _, err := dtmimp.DBExec(db, fmt.Sprintf("truncate %s", t)) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) } s := "insert ignore into dtm_busi.user_account(user_id, balance) values " ss := []string{} @@ -58,7 +59,7 @@ func reloadData() { ss = append(ss, fmt.Sprintf("(%d, 1000000)", i)) } _, err := dtmimp.DBExec(db, s+strings.Join(ss, ",")) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) dtmimp.Logf("%d users inserted. used: %dms", total, time.Since(began).Milliseconds()) } @@ -74,7 +75,7 @@ func StartSvr() { go app.Run(fmt.Sprintf(":%d", benchPort)) db := sdbGet() _, err := dtmimp.DBExec(db, "drop table if exists dtm_busi.user_account_log") - dtmimp.FatalIfError(err) + logger.FatalIfError(err) _, err = dtmimp.DBExec(db, `create table if not exists dtm_busi.user_account_log ( id INT(11) AUTO_INCREMENT PRIMARY KEY, user_id INT(11) NOT NULL, @@ -89,7 +90,7 @@ func StartSvr() { key(create_time) ) `) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) } func qsAdjustBalance(uid int, amount int, c *gin.Context) (interface{}, error) { @@ -101,21 +102,21 @@ func qsAdjustBalance(uid int, amount int, c *gin.Context) (interface{}, error) { for i := 0; i < sqls; i++ { _, err := dtmimp.DBExec(tx, "insert into dtm_busi.user_account_log(user_id, delta, gid, branch_id, op, reason) values(?,?,?,?,?,?)", uid, amount, tb.Gid, c.Query("branch_id"), tb.TransType, fmt.Sprintf("inserted by dtm transaction %s %s", tb.Gid, c.Query("branch_id"))) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) _, err = dtmimp.DBExec(tx, "update dtm_busi.user_account set balance = balance + ?, update_time = now() where user_id = ?", amount, uid) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) } return nil } if strings.Contains(mode, "barrier") { barrier, err := dtmcli.BarrierFromQuery(c.Request.URL.Query()) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) barrier.Call(txGet(), f) } else { tx := txGet() f(tx) err := tx.Commit() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) } return dtmcli.MapSuccess, nil diff --git a/common/config.go b/common/config.go index afc5852..6a0838a 100644 --- a/common/config.go +++ b/common/config.go @@ -8,6 +8,7 @@ import ( "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" "gopkg.in/yaml.v2" ) @@ -82,13 +83,13 @@ func MustLoadConfig() { } if len(cont) != 0 { err := yaml.UnmarshalStrict(cont, &Config) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) } scont, err := json.MarshalIndent(&Config, "", " ") - dtmimp.FatalIfError(err) + logger.FatalIfError(err) dtmimp.Logf("config is: \n%s", scont) err = checkConfig() - dtmimp.LogIfFatalf(err != nil, `config error: '%v'. + logger.FatalfIf(err != nil, `config error: '%v'. check you env, and conf.yml/conf.sample.yml in current and parent path: %s. please visit http://d.dtm.pub to see the config document. loaded config is: diff --git a/common/utils.go b/common/utils.go index 9465a6c..5e690d9 100644 --- a/common/utils.go +++ b/common/utils.go @@ -20,6 +20,7 @@ import ( "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) // GetGinApp init and return gin @@ -105,10 +106,10 @@ func GetNextTime(second int64) *time.Time { // RunSQLScript 1 func RunSQLScript(conf dtmcli.DBConf, script string, skipDrop bool) { con, err := dtmimp.StandaloneDB(conf) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) defer func() { con.Close() }() content, err := ioutil.ReadFile(script) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) sqls := strings.Split(string(content), ";") for _, sql := range sqls { s := strings.TrimSpace(sql) @@ -116,6 +117,6 @@ func RunSQLScript(conf dtmcli.DBConf, script string, skipDrop bool) { continue } _, err = dtmimp.DBExec(con, s) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) } } diff --git a/dtmcli/dtmimp/utils.go b/dtmcli/dtmimp/utils.go index 693f08d..eb264bf 100644 --- a/dtmcli/dtmimp/utils.go +++ b/dtmcli/dtmimp/utils.go @@ -11,23 +11,36 @@ import ( "encoding/json" "errors" "fmt" - "log" "os" "runtime" - "runtime/debug" "strconv" "strings" "sync" "time" "github.com/go-resty/resty/v2" - "go.uber.org/zap" - "go.uber.org/zap/zapcore" + "github.com/yedf/dtm/dtmcli/logger" ) +// Logf an alias of Infof +// Deprecated: use logger.Errorf +var Logf = logger.Infof + +// LogRedf an alias of Errorf +// Deprecated: use logger.Errorf +var LogRedf = logger.Errorf + +// FatalIfError fatal if error is not nil +// Deprecated: use logger.FatalIfError +var FatalIfError = logger.FatalIfError + +// LogIfFatalf fatal if cond is true +// Deprecated: use logger.FatalfIf +var LogIfFatalf = logger.FatalfIf + // AsError wrap a panic value as an error func AsError(x interface{}) error { - LogRedf("panic wrapped to error: '%v'", x) + logger.Errorf("panic wrapped to error: '%v'", x) if e, ok := x.(error); ok { return e } @@ -120,59 +133,6 @@ func MustRemarshal(from interface{}, to interface{}) { E2P(err) } -var logger *zap.SugaredLogger = nil - -func init() { - InitLog() -} - -// InitLog is a initialization for a logger -func InitLog() { - config := zap.NewProductionConfig() - config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder - if os.Getenv("DTM_DEBUG") != "" { - config.Encoding = "console" - config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder - } - p, err := config.Build(zap.AddCallerSkip(1)) - if err != nil { - log.Fatal("create logger failed: ", err) - } - logger = p.Sugar() -} - -// Logf is log stdout -func Logf(fmt string, args ...interface{}) { - logger.Infof(fmt, args...) -} - -// LogRedf is print error message with red color -func LogRedf(fmt string, args ...interface{}) { - logger.Errorf(fmt, args...) -} - -// FatalExitFunc is a Fatal exit function ,it will be replaced when testing -var FatalExitFunc = func() { os.Exit(1) } - -// LogFatalf is print error message with red color, and execute FatalExitFunc -func LogFatalf(fmt string, args ...interface{}) { - fmt += "\n" + string(debug.Stack()) - LogRedf(fmt, args...) - FatalExitFunc() -} - -// LogIfFatalf is print error message with red color, and execute LogFatalf, when condition is true -func LogIfFatalf(condition bool, fmt string, args ...interface{}) { - if condition { - LogFatalf(fmt, args...) - } -} - -// FatalIfError is print error message with red color, and execute LogIfFatalf. -func FatalIfError(err error) { - LogIfFatalf(err != nil, "Fatal error: %v", err) -} - // GetFuncName get current call func name func GetFuncName() string { pc, _, _, _ := runtime.Caller(1) @@ -223,9 +183,9 @@ func DBExec(db DB, sql string, values ...interface{}) (affected int64, rerr erro used := time.Since(began) / time.Millisecond if rerr == nil { affected, rerr = r.RowsAffected() - Logf("used: %d ms affected: %d for %s %v", used, affected, sql, values) + logger.Debugf("used: %d ms affected: %d for %s %v", used, affected, sql, values) } else { - LogRedf("used: %d ms exec error: %v for %s %v", used, rerr, sql, values) + logger.Errorf("used: %d ms exec error: %v for %s %v", used, rerr, sql, values) } return } @@ -258,7 +218,7 @@ func CheckResponse(resp *resty.Response, err error) error { return err } -// CheckResult is check result. Return err directly if err is not nil. And return corresponding error by calling CheckResponse if resp is the type of *resty.Response. +// CheckResult is check result. Return err directly if err is not nil. And return corresponding error by calling CheckResponse if resp is the type of *resty.Response. // Otherwise, return error by value of str, the string after marshal. func CheckResult(res interface{}, err error) error { if err != nil { diff --git a/dtmcli/dtmimp/utils_test.go b/dtmcli/dtmimp/utils_test.go index 1625ced..167560c 100644 --- a/dtmcli/dtmimp/utils_test.go +++ b/dtmcli/dtmimp/utils_test.go @@ -8,7 +8,6 @@ package dtmimp import ( "errors" - "fmt" "os" "strings" "testing" @@ -80,20 +79,3 @@ func TestSome(t *testing.T) { s2 := MayReplaceLocalhost("http://localhost") assert.Equal(t, "http://localhost", s2) } - -func TestFatal(t *testing.T) { - old := FatalExitFunc - defer func() { - FatalExitFunc = old - }() - FatalExitFunc = func() { panic(fmt.Errorf("fatal")) } - err := CatchP(func() { - LogIfFatalf(true, "") - }) - assert.Error(t, err, fmt.Errorf("fatal")) -} - -func TestInitLog(t *testing.T) { - os.Setenv("DTM_DEBUG", "1") - InitLog() -} diff --git a/dtmsvr/svr.go b/dtmsvr/svr.go index ac0dbf2..de67eeb 100644 --- a/dtmsvr/svr.go +++ b/dtmsvr/svr.go @@ -14,6 +14,7 @@ import ( grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware" "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" "github.com/yedf/dtm/dtmgrpc/dtmgimp" "github.com/yedf/dtm/dtmgrpc/dtmgpb" "github.com/yedf/dtmdriver" @@ -30,7 +31,7 @@ func StartSvr() { go app.Run(fmt.Sprintf(":%d", config.HttpPort)) lis, err := net.Listen("tcp", fmt.Sprintf(":%d", config.GrpcPort)) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) s := grpc.NewServer( grpc.UnaryInterceptor(grpc_middleware.ChainUnaryServer( grpc.UnaryServerInterceptor(grpcMetrics), grpc.UnaryServerInterceptor(dtmgimp.GrpcServerLog)), @@ -39,15 +40,15 @@ func StartSvr() { dtmimp.Logf("grpc listening at %v", lis.Addr()) go func() { err := s.Serve(lis) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) }() go updateBranchAsync() time.Sleep(100 * time.Millisecond) err = dtmdriver.Use(config.MicroService.Driver) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) err = dtmdriver.GetDriver().RegisterGrpcService(config.MicroService.Target, config.MicroService.EndPoint) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) } // PopulateDB setup mysql data diff --git a/examples/base_grpc.go b/examples/base_grpc.go index 3bff6a5..6be8aef 100644 --- a/examples/base_grpc.go +++ b/examples/base_grpc.go @@ -16,6 +16,7 @@ import ( "github.com/gin-gonic/gin" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" "github.com/yedf/dtm/dtmgrpc" "github.com/yedf/dtm/dtmgrpc/dtmgimp" @@ -44,18 +45,18 @@ func init() { // GrpcStartup for grpc func GrpcStartup() { conn, err := grpc.Dial(DtmGrpcServer, grpc.WithInsecure(), grpc.WithUnaryInterceptor(dtmgimp.GrpcClientLog)) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) DtmClient = dtmgpb.NewDtmClient(conn) dtmimp.Logf("dtm client inited") lis, err := net.Listen("tcp", fmt.Sprintf(":%d", BusiGrpcPort)) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) s := grpc.NewServer(grpc.UnaryInterceptor(dtmgimp.GrpcServerLog)) RegisterBusiServer(s, &busiServer{}) go func() { dtmimp.Logf("busi grpc listening at %v", lis.Addr()) err := s.Serve(lis) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) }() time.Sleep(100 * time.Millisecond) } @@ -137,9 +138,9 @@ func (s *busiServer) TransOutXa(ctx context.Context, in *BusiReq) (*emptypb.Empt func (s *busiServer) TransInTccNested(ctx context.Context, in *BusiReq) (*emptypb.Empty, error) { tcc, err := dtmgrpc.TccFromGrpc(ctx) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) r := &emptypb.Empty{} err = tcc.CallBranch(in, BusiGrpc+"/examples.Busi/TransIn", BusiGrpc+"/examples.Busi/TransInConfirm", BusiGrpc+"/examples.Busi/TransInRevert", r) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return r, handleGrpcBusiness(in, MainSwitch.TransInResult.Fetch(), in.TransInResult, dtmimp.GetFuncName()) } diff --git a/examples/base_types.go b/examples/base_types.go index a40f491..f906b4a 100644 --- a/examples/base_types.go +++ b/examples/base_types.go @@ -15,6 +15,7 @@ import ( "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" "github.com/yedf/dtm/dtmgrpc" ) @@ -58,7 +59,7 @@ func reqFrom(c *gin.Context) *TransReq { if !ok { req := TransReq{} err := c.BindJSON(&req) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) c.Set("trans_req", &req) v = &req } @@ -81,27 +82,27 @@ func dbGet() *common.DB { func sdbGet() *sql.DB { db, err := dtmimp.PooledDB(config.ExamplesDB) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return db } func txGet() *sql.Tx { db := sdbGet() tx, err := db.Begin() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return tx } // MustBarrierFromGin 1 func MustBarrierFromGin(c *gin.Context) *dtmcli.BranchBarrier { ti, err := dtmcli.BarrierFromQuery(c.Request.URL.Query()) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return ti } // MustBarrierFromGrpc 1 func MustBarrierFromGrpc(ctx context.Context) *dtmcli.BranchBarrier { ti, err := dtmgrpc.BarrierFromGrpc(ctx) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return ti } diff --git a/examples/data.go b/examples/data.go index b0459c4..0a4f52c 100644 --- a/examples/data.go +++ b/examples/data.go @@ -10,7 +10,7 @@ import ( "fmt" "github.com/yedf/dtm/common" - "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) var config = &common.Config @@ -50,6 +50,6 @@ type sampleInfo struct { var Samples = map[string]*sampleInfo{} func addSample(name string, fn func() string) { - dtmimp.LogIfFatalf(Samples[name] != nil, "%s already exists", name) + logger.FatalfIf(Samples[name] != nil, "%s already exists", name) Samples[name] = &sampleInfo{Arg: name, Action: fn} } diff --git a/examples/grpc_msg.go b/examples/grpc_msg.go index 670e8e6..2bbe650 100644 --- a/examples/grpc_msg.go +++ b/examples/grpc_msg.go @@ -7,7 +7,7 @@ package examples import ( - "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" dtmgrpc "github.com/yedf/dtm/dtmgrpc" ) @@ -19,7 +19,7 @@ func init() { Add(BusiGrpc+"/examples.Busi/TransOut", req). Add(BusiGrpc+"/examples.Busi/TransIn", req) err := msg.Submit() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return msg.Gid }) } diff --git a/examples/grpc_saga.go b/examples/grpc_saga.go index fad3d8f..3a29de4 100644 --- a/examples/grpc_saga.go +++ b/examples/grpc_saga.go @@ -7,7 +7,7 @@ package examples import ( - "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" dtmgrpc "github.com/yedf/dtm/dtmgrpc" ) @@ -19,7 +19,7 @@ func init() { Add(BusiGrpc+"/examples.Busi/TransOut", BusiGrpc+"/examples.Busi/TransOutRevert", req). Add(BusiGrpc+"/examples.Busi/TransIn", BusiGrpc+"/examples.Busi/TransOutRevert", req) err := saga.Submit() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return saga.Gid }) addSample("grpc_saga_wait", func() string { @@ -30,7 +30,7 @@ func init() { Add(BusiGrpc+"/examples.Busi/TransIn", BusiGrpc+"/examples.Busi/TransOutRevert", req) saga.WaitResult = true err := saga.Submit() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return saga.Gid }) } diff --git a/examples/grpc_saga_barrier.go b/examples/grpc_saga_barrier.go index 777b236..892e140 100644 --- a/examples/grpc_saga_barrier.go +++ b/examples/grpc_saga_barrier.go @@ -12,6 +12,7 @@ import ( "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" "github.com/yedf/dtm/dtmgrpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -26,7 +27,7 @@ func init() { Add(BusiGrpc+"/examples.Busi/TransOutBSaga", BusiGrpc+"/examples.Busi/TransOutRevertBSaga", req). Add(BusiGrpc+"/examples.Busi/TransInBSaga", BusiGrpc+"/examples.Busi/TransInRevertBSaga", req) err := saga.Submit() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return saga.Gid }) } diff --git a/examples/grpc_tcc.go b/examples/grpc_tcc.go index a806983..6bf8cf1 100644 --- a/examples/grpc_tcc.go +++ b/examples/grpc_tcc.go @@ -8,6 +8,7 @@ package examples import ( "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" dtmgrpc "github.com/yedf/dtm/dtmgrpc" emptypb "google.golang.org/protobuf/types/known/emptypb" ) @@ -26,7 +27,7 @@ func init() { err = tcc.CallBranch(data, BusiGrpc+"/examples.Busi/TransInTcc", BusiGrpc+"/examples.Busi/TransInConfirm", BusiGrpc+"/examples.Busi/TransInRevert", r) return err }) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return gid }) } diff --git a/examples/grpc_xa.go b/examples/grpc_xa.go index 41aba41..c4f9d3c 100644 --- a/examples/grpc_xa.go +++ b/examples/grpc_xa.go @@ -9,7 +9,7 @@ package examples import ( context "context" - "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" "github.com/yedf/dtm/dtmgrpc" "google.golang.org/protobuf/types/known/emptypb" ) @@ -27,7 +27,7 @@ func init() { err = xa.CallBranch(req, BusiGrpc+"/examples.Busi/TransInXa", r) return err }) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return gid }) } diff --git a/examples/http_gorm_xa.go b/examples/http_gorm_xa.go index 6034469..caacb79 100644 --- a/examples/http_gorm_xa.go +++ b/examples/http_gorm_xa.go @@ -9,7 +9,7 @@ package examples import ( "github.com/go-resty/resty/v2" "github.com/yedf/dtm/dtmcli" - "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) func init() { @@ -22,7 +22,7 @@ func init() { } return xa.CallBranch(&TransReq{Amount: 30}, Busi+"/TransInXa") }) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return gid }) diff --git a/examples/http_msg.go b/examples/http_msg.go index be0e9ac..59760df 100644 --- a/examples/http_msg.go +++ b/examples/http_msg.go @@ -9,6 +9,7 @@ package examples import ( "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) func init() { @@ -19,10 +20,10 @@ func init() { Add(Busi+"/TransOut", req). Add(Busi+"/TransIn", req) err := msg.Prepare(Busi + "/query") - dtmimp.FatalIfError(err) + logger.FatalIfError(err) dtmimp.Logf("busi trans submit") err = msg.Submit() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return msg.Gid }) } diff --git a/examples/http_saga.go b/examples/http_saga.go index 54e2885..208d06d 100644 --- a/examples/http_saga.go +++ b/examples/http_saga.go @@ -9,6 +9,7 @@ package examples import ( "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) func init() { @@ -21,7 +22,7 @@ func init() { dtmimp.Logf("saga busi trans submit") err := saga.Submit() dtmimp.Logf("result gid is: %s", saga.Gid) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return saga.Gid }) addSample("saga_wait", func() string { @@ -33,7 +34,7 @@ func init() { saga.SetOptions(&dtmcli.TransOptions{WaitResult: true}) err := saga.Submit() dtmimp.Logf("result gid is: %s", saga.Gid) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return saga.Gid }) addSample("concurrent_saga", func() string { @@ -50,7 +51,7 @@ func init() { dtmimp.Logf("concurrent saga busi trans submit") err := csaga.Submit() dtmimp.Logf("result gid is: %s", csaga.Gid) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return csaga.Gid }) } diff --git a/examples/http_saga_barrier.go b/examples/http_saga_barrier.go index c68aeb8..1b53bbe 100644 --- a/examples/http_saga_barrier.go +++ b/examples/http_saga_barrier.go @@ -13,6 +13,7 @@ import ( "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) func init() { @@ -30,7 +31,7 @@ func init() { Add(Busi+"/SagaBTransIn", Busi+"/SagaBTransInCompensate", req) dtmimp.Logf("busi trans submit") err := saga.Submit() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return saga.Gid }) } diff --git a/examples/http_saga_gorm_barrier.go b/examples/http_saga_gorm_barrier.go index 1f81c44..7b1e65f 100644 --- a/examples/http_saga_gorm_barrier.go +++ b/examples/http_saga_gorm_barrier.go @@ -13,6 +13,7 @@ import ( "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) func init() { @@ -27,7 +28,7 @@ func init() { Add(Busi+"/SagaBTransIn", Busi+"/SagaBTransInCompensate", req) dtmimp.Logf("busi trans submit") err := saga.Submit() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return saga.Gid }) diff --git a/examples/http_tcc.go b/examples/http_tcc.go index 49c949f..1692d3c 100644 --- a/examples/http_tcc.go +++ b/examples/http_tcc.go @@ -12,13 +12,14 @@ import ( "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) func init() { setupFuncs["TccSetupSetup"] = func(app *gin.Engine) { app.POST(BusiAPI+"/TransInTccParent", common.WrapHandler(func(c *gin.Context) (interface{}, error) { tcc, err := dtmcli.TccFromQuery(c.Request.URL.Query()) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) dtmimp.Logf("TransInTccParent ") return tcc.CallBranch(&TransReq{Amount: reqFrom(c).Amount}, Busi+"/TransIn", Busi+"/TransInConfirm", Busi+"/TransInRevert") })) @@ -32,7 +33,7 @@ func init() { } return tcc.CallBranch(&TransReq{Amount: 30}, Busi+"/TransInTccParent", Busi+"/TransInConfirm", Busi+"/TransInRevert") }) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return gid }) addSample("tcc", func() string { @@ -45,7 +46,7 @@ func init() { } return tcc.CallBranch(&TransReq{Amount: 30}, Busi+"/TransIn", Busi+"/TransInConfirm", Busi+"/TransInRevert") }) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return gid }) } diff --git a/examples/http_tcc_barrier.go b/examples/http_tcc_barrier.go index 85e65da..ef52111 100644 --- a/examples/http_tcc_barrier.go +++ b/examples/http_tcc_barrier.go @@ -15,6 +15,7 @@ import ( "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) func init() { @@ -37,7 +38,7 @@ func init() { } return tcc.CallBranch(&TransReq{Amount: 30}, Busi+"/TccBTransInTry", Busi+"/TccBTransInConfirm", Busi+"/TccBTransInCancel") }) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return gid }) } diff --git a/examples/http_xa.go b/examples/http_xa.go index 5ed0159..a288b45 100644 --- a/examples/http_xa.go +++ b/examples/http_xa.go @@ -11,7 +11,7 @@ import ( "github.com/go-resty/resty/v2" "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" - "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) // XaClient XA client connection @@ -25,7 +25,7 @@ func init() { return xa.HandleCallback(c.Query("gid"), c.Query("branch_id"), c.Query("op")) })) }) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) } addSample("xa", func() string { gid := dtmcli.MustGenGid(DtmHttpServer) @@ -36,7 +36,7 @@ func init() { } return xa.CallBranch(&TransReq{Amount: 30}, Busi+"/TransInXa") }) - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return gid }) } diff --git a/examples/quick_start.go b/examples/quick_start.go index e71d816..147d1dd 100644 --- a/examples/quick_start.go +++ b/examples/quick_start.go @@ -14,6 +14,7 @@ import ( "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" ) // 启动命令:go run app/main.go qs @@ -44,7 +45,7 @@ func QsFireRequest() string { Add(qsBusi+"/TransIn", qsBusi+"/TransInCompensate", req) // 提交saga事务,dtm会完成所有的子事务/回滚所有的子事务 err := saga.Submit() - dtmimp.FatalIfError(err) + logger.FatalIfError(err) return saga.Gid } diff --git a/test/types.go b/test/types.go index 7c54b86..ef1fd40 100644 --- a/test/types.go +++ b/test/types.go @@ -12,6 +12,7 @@ import ( "github.com/yedf/dtm/common" "github.com/yedf/dtm/dtmcli" "github.com/yedf/dtm/dtmcli/dtmimp" + "github.com/yedf/dtm/dtmcli/logger" "github.com/yedf/dtm/dtmsvr" ) @@ -32,7 +33,7 @@ func waitTransProcessed(gid string) { } dtmimp.Logf("finish for gid %s", gid) case <-time.After(time.Duration(time.Second * 3)): - dtmimp.LogFatalf("Wait Trans timeout") + logger.FatalfIf(true, "Wait Trans timeout") } }