diff --git a/cmd/benchdb/main.go b/cmd/benchdb/main.go index bce400e76dd3c..38d906b44f99a 100644 --- a/cmd/benchdb/main.go +++ b/cmd/benchdb/main.go @@ -22,12 +22,13 @@ import ( "strings" "time" + "github.com/pingcap/log" "github.com/pingcap/parser/terror" "github.com/pingcap/tidb/session" "github.com/pingcap/tidb/store" "github.com/pingcap/tidb/store/tikv" "github.com/pingcap/tidb/util/logutil" - log "github.com/sirupsen/logrus" + "go.uber.org/zap" ) var ( @@ -55,7 +56,7 @@ var ( func main() { flag.Parse() flag.PrintDefaults() - err := logutil.InitLogger(logutil.NewLogConfig(*logLevel, logutil.DefaultLogFormat, "", logutil.EmptyFileLogConfig, false)) + err := logutil.InitZapLogger(logutil.NewLogConfig(*logLevel, logutil.DefaultLogFormat, "", logutil.EmptyFileLogConfig, false)) terror.MustNil(err) err = store.Register("tikv", tikv.Driver{}) terror.MustNil(err) @@ -111,7 +112,7 @@ func newBenchDB() *benchDB { func (ut *benchDB) mustExec(sql string) { rss, err := ut.session.Execute(context.Background(), sql) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } if len(rss) > 0 { ctx := context.Background() @@ -120,7 +121,7 @@ func (ut *benchDB) mustExec(sql string) { for { err := rs.Next(ctx, req) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } if req.NumRows() == 0 { break @@ -140,7 +141,7 @@ func (ut *benchDB) mustParseWork(work string) (name string, spec string) { func (ut *benchDB) mustParseInt(s string) int { i, err := strconv.Atoi(s) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } return i } @@ -148,13 +149,13 @@ func (ut *benchDB) mustParseInt(s string) int { func (ut *benchDB) mustParseRange(s string) (start, end int) { strs := strings.Split(s, "_") if len(strs) != 2 { - log.Fatal("invalid range " + s) + log.Fatal("parse range failed", zap.String("invalid range", s)) } startStr, endStr := strs[0], strs[1] start = ut.mustParseInt(startStr) end = ut.mustParseInt(endStr) if start < 0 || end < start { - log.Fatal("invalid range " + s) + log.Fatal("parse range failed", zap.String("invalid range", s)) } return } diff --git a/cmd/benchfilesort/main.go b/cmd/benchfilesort/main.go index 3c6f30827861d..90fccc7943ce2 100644 --- a/cmd/benchfilesort/main.go +++ b/cmd/benchfilesort/main.go @@ -25,13 +25,13 @@ import ( "time" "github.com/pingcap/errors" + "github.com/pingcap/log" "github.com/pingcap/parser/terror" "github.com/pingcap/tidb/sessionctx/stmtctx" "github.com/pingcap/tidb/types" "github.com/pingcap/tidb/util/codec" "github.com/pingcap/tidb/util/filesort" "github.com/pingcap/tidb/util/logutil" - log "github.com/sirupsen/logrus" ) type comparableRow struct { @@ -264,19 +264,19 @@ func driveGenCmd() { terror.MustNil(err) // Sanity checks if keySize <= 0 { - log.Fatal(errors.New("key size must be positive")) + log.Fatal("key size must be positive") } if valSize <= 0 { - log.Fatal(errors.New("value size must be positive")) + log.Fatal("value size must be positive") } if scale <= 0 { - log.Fatal(errors.New("scale must be positive")) + log.Fatal("scale must be positive") } if _, err = os.Stat(tmpDir); err != nil { if os.IsNotExist(err) { - log.Fatal(errors.New("tmpDir does not exist")) + log.Fatal("tmpDir does not exist") } - log.Fatal(err) + log.Fatal(err.Error()) } cLog("Generating...") @@ -294,20 +294,20 @@ func driveRunCmd() { terror.MustNil(err) // Sanity checks if bufSize <= 0 { - log.Fatal(errors.New("buffer size must be positive")) + log.Fatal("buffer size must be positive") } if nWorkers <= 0 { - log.Fatal(errors.New("the number of workers must be positive")) + log.Fatal("the number of workers must be positive") } if inputRatio < 0 || inputRatio > 100 { - log.Fatal(errors.New("input ratio must between 0 and 100 (inclusive)")) + log.Fatal("input ratio must between 0 and 100 (inclusive)") } if outputRatio < 0 || outputRatio > 100 { - log.Fatal(errors.New("output ratio must between 0 and 100 (inclusive)")) + log.Fatal("output ratio must between 0 and 100 (inclusive)") } if _, err = os.Stat(tmpDir); err != nil { if os.IsNotExist(err) { - log.Fatal(errors.New("tmpDir does not exist")) + log.Fatal("tmpDir does not exist") } terror.MustNil(err) } @@ -382,7 +382,7 @@ func driveRunCmd() { } func init() { - err := logutil.InitLogger(logutil.NewLogConfig(logLevel, logutil.DefaultLogFormat, "", logutil.EmptyFileLogConfig, false)) + err := logutil.InitZapLogger(logutil.NewLogConfig(logLevel, logutil.DefaultLogFormat, "", logutil.EmptyFileLogConfig, false)) terror.MustNil(err) cwd, err1 := os.Getwd() terror.MustNil(err1) diff --git a/cmd/benchkv/main.go b/cmd/benchkv/main.go index 8d8eb738d8c5c..d6987d3121eed 100644 --- a/cmd/benchkv/main.go +++ b/cmd/benchkv/main.go @@ -17,6 +17,7 @@ import ( "context" "flag" "fmt" + "go.uber.org/zap" "io/ioutil" "net/http" _ "net/http/pprof" @@ -25,11 +26,11 @@ import ( _ "github.com/go-sql-driver/mysql" "github.com/pingcap/errors" + "github.com/pingcap/log" "github.com/pingcap/parser/terror" "github.com/pingcap/tidb/kv" "github.com/pingcap/tidb/store/tikv" "github.com/prometheus/client_golang/prometheus" - log "github.com/sirupsen/logrus" ) var ( @@ -100,7 +101,7 @@ func batchRW(value []byte) { k := base*i + j txn, err := store.Begin() if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } key := fmt.Sprintf("key_%d", k) err = txn.Set([]byte(key), value) @@ -120,7 +121,7 @@ func batchRW(value []byte) { func main() { flag.Parse() - log.SetLevel(log.ErrorLevel) + log.SetLevel(zap.ErrorLevel) Init() value := make([]byte, *valueSize) diff --git a/cmd/benchraw/main.go b/cmd/benchraw/main.go index b517b14a3a299..2ca4b68b9bfb0 100644 --- a/cmd/benchraw/main.go +++ b/cmd/benchraw/main.go @@ -23,10 +23,11 @@ import ( "time" "github.com/pingcap/errors" + "github.com/pingcap/log" "github.com/pingcap/parser/terror" "github.com/pingcap/tidb/config" "github.com/pingcap/tidb/store/tikv" - log "github.com/sirupsen/logrus" + "go.uber.org/zap" ) var ( @@ -47,7 +48,7 @@ func batchRawPut(value []byte) { ClusterSSLKey: *sslKey, }) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } wg := sync.WaitGroup{} @@ -62,7 +63,7 @@ func batchRawPut(value []byte) { key := fmt.Sprintf("key_%d", k) err = cli.Put([]byte(key), value) if err != nil { - log.Fatal(errors.ErrorStack(err)) + log.Fatal("put failed", zap.Error(err)) } } }(i) @@ -72,7 +73,7 @@ func batchRawPut(value []byte) { func main() { flag.Parse() - log.SetLevel(log.WarnLevel) + log.SetLevel(zap.WarnLevel) go func() { err := http.ListenAndServe(":9191", nil) terror.Log(errors.Trace(err)) diff --git a/cmd/explaintest/main.go b/cmd/explaintest/main.go index 8ff9d2b00cf6d..c6a734a431f0a 100644 --- a/cmd/explaintest/main.go +++ b/cmd/explaintest/main.go @@ -18,6 +18,7 @@ import ( "database/sql" "flag" "fmt" + "go.uber.org/zap" "io" "io/ioutil" "net/http" @@ -27,12 +28,12 @@ import ( "github.com/go-sql-driver/mysql" "github.com/pingcap/errors" + "github.com/pingcap/log" "github.com/pingcap/parser/ast" "github.com/pingcap/tidb/session" "github.com/pingcap/tidb/sessionctx" "github.com/pingcap/tidb/util/logutil" "github.com/pingcap/tidb/util/mock" - log "github.com/sirupsen/logrus" "time" ) @@ -105,17 +106,17 @@ func (t *tester) Run() error { var s string defer func() { if t.tx != nil { - log.Errorf("transaction is not committed correctly, rollback") + log.Error("transaction is not committed correctly, rollback") err = t.rollback() if err != nil { - log.Errorf("transaction is rollback err %v", err) + log.Error("transaction is failed rollback", zap.Error(err)) } } if t.resultFD != nil { err = t.resultFD.Close() if err != nil { - log.Errorf("result fd close error %v", err) + log.Error("result fd close failed", zap.Error(err)) } } }() @@ -246,7 +247,7 @@ func (t *tester) executeDefault(qText string) (err error) { if t.tx, err = mdb.Begin(); err != nil { err2 := t.rollback() if err2 != nil { - log.Errorf("transaction is rollback err %v", err) + log.Error("transaction is failed to rollback", zap.Error(err)) } return err } @@ -254,7 +255,7 @@ func (t *tester) executeDefault(qText string) (err error) { if err = filterWarning(t.executeStmt(qText)); err != nil { err2 := t.rollback() if err2 != nil { - log.Errorf("transaction is rollback err %v", err) + log.Error("transaction is failed rollback", zap.Error(err)) } return err } @@ -262,7 +263,7 @@ func (t *tester) executeDefault(qText string) (err error) { if err = t.commit(); err != nil { err2 := t.rollback() if err2 != nil { - log.Errorf("transaction is rollback err %v", err) + log.Error("transaction is failed rollback", zap.Error(err)) } return err } @@ -296,7 +297,7 @@ func (t *tester) execute(query query) error { if err != nil { err2 := t.rollback() if err2 != nil { - log.Errorf("transaction is rollback err %v", err) + log.Error("transaction is failed rollback", zap.Error(err)) } break } @@ -305,7 +306,7 @@ func (t *tester) execute(query query) error { if err != nil { err2 := t.rollback() if err2 != nil { - log.Errorf("transaction is rollback err %v", err) + log.Error("transaction is failed rollback", zap.Error(err)) } break } @@ -383,11 +384,11 @@ func (t *tester) create(tableName string, qText string) error { cmd := exec.Command("sh", "-c", path) stdoutIn, err := cmd.StdoutPipe() if err != nil { - log.Errorf("open stdout pipe failure %v", err) + log.Error("open stdout pipe failed", zap.Error(err)) } stderrIn, err := cmd.StderrPipe() if err != nil { - log.Errorf("open stderr pipe failure %v", err) + log.Error("open stderr pipe failed", zap.Error(err)) } var stdoutBuf, stderrBuf bytes.Buffer @@ -407,7 +408,7 @@ func (t *tester) create(tableName string, qText string) error { }() if err = cmd.Wait(); err != nil { - log.Fatalf("importer failed with: %s", err) + log.Fatal("importer failed", zap.Error(err)) return err } @@ -599,7 +600,7 @@ func openDBWithRetry(driverName, dataSourceName string) (mdb *sql.DB, err error) for i := 0; i < retryCnt; i++ { mdb, err = sql.Open(driverName, dataSourceName) if err != nil { - log.Warnf("open db failed, retry count %d err %v", i, err) + log.Warn("open DB failed", zap.Int("retry count", i), zap.Error(err)) time.Sleep(sleepTime) continue } @@ -607,15 +608,15 @@ func openDBWithRetry(driverName, dataSourceName string) (mdb *sql.DB, err error) if err == nil { break } - log.Warnf("ping db failed, retry count %d err %v", i, err) + log.Warn("ping DB failed", zap.Int("retry count", i), zap.Error(err)) err = mdb.Close() if err != nil { - log.Errorf("close db err %v", err) + log.Error("close DB failed", zap.Error(err)) } time.Sleep(sleepTime) } if err != nil { - log.Errorf("open db failed %v, take time %v", err, time.Since(startTime)) + log.Error("open Db failed", zap.Duration("take time", time.Since(startTime)), zap.Error(err)) return nil, errors.Trace(err) } @@ -625,7 +626,7 @@ func openDBWithRetry(driverName, dataSourceName string) (mdb *sql.DB, err error) func main() { flag.Parse() - err := logutil.InitLogger(logutil.NewLogConfig(logLevel, logutil.DefaultLogFormat, "", logutil.EmptyFileLogConfig, false)) + err := logutil.InitZapLogger(logutil.NewLogConfig(logLevel, logutil.DefaultLogFormat, "", logutil.EmptyFileLogConfig, false)) if err != nil { panic("init logger fail, " + err.Error()) } @@ -635,34 +636,34 @@ func main() { "root@tcp(localhost:4001)/"+dbName+"?strict=true&allowAllFiles=true", ) if err != nil { - log.Fatalf("Open db err %v", err) + log.Fatal("open DB failed", zap.Error(err)) } defer func() { - log.Warn("close db") + log.Warn("close DB") err = mdb.Close() if err != nil { - log.Errorf("close db err %v", err) + log.Error("close DB failed", zap.Error(err)) } }() - log.Warn("Create new db", mdb) + log.Warn("create new DB", zap.Reflect("DB", mdb)) if _, err = mdb.Exec("DROP DATABASE IF EXISTS test"); err != nil { - log.Fatalf("Executing drop db test err[%v]", err) + log.Fatal("executing drop DB test failed", zap.Error(err)) } if _, err = mdb.Exec("CREATE DATABASE test"); err != nil { - log.Fatalf("Executing create db test err[%v]", err) + log.Fatal("executing create DB test failed", zap.Error(err)) } if _, err = mdb.Exec("USE test"); err != nil { - log.Fatalf("Executing Use test err[%v]", err) + log.Fatal("executing use test failed", zap.Error(err)) } if _, err = mdb.Exec("set @@tidb_hash_join_concurrency=1"); err != nil { - log.Fatalf("set @@tidb_hash_join_concurrency=1 err[%v]", err) + log.Fatal("set @@tidb_hash_join_concurrency=1 failed", zap.Error(err)) } if _, err = mdb.Exec("set sql_mode='STRICT_TRANS_TABLES'"); err != nil { - log.Fatalf("set sql_mode='STRICT_TRANS_TABLES' err[%v]", err) + log.Fatal("set sql_mode='STRICT_TRANS_TABLES' failed", zap.Error(err)) } tests := flag.Args() @@ -670,16 +671,16 @@ func main() { // we will run all tests if no tests assigned if len(tests) == 0 { if tests, err = loadAllTests(); err != nil { - log.Fatalf("load all tests err %v", err) + log.Fatal("load all tests failed", zap.Error(err)) } } if record { - log.Printf("recording tests: %v", tests) + log.Info("recording tests", zap.Strings("tests", tests)) } else if create { - log.Printf("creating data for tests: %v", tests) + log.Info("creating data", zap.Strings("tests", tests)) } else { - log.Printf("running tests: %v", tests) + log.Info("running tests", zap.Strings("tests", tests)) } for _, t := range tests { @@ -688,9 +689,9 @@ func main() { } tr := newTester(t) if err = tr.Run(); err != nil { - log.Fatalf("run test [%s] err: %v", t, err) + log.Fatal("run test", zap.String("test", t), zap.Error(err)) } - log.Infof("run test [%s] ok", t) + log.Info("run test ok", zap.String("test", t)) } println("\nGreat, All tests passed") diff --git a/cmd/importer/db.go b/cmd/importer/db.go index 7f8cd2b72923d..24a838255076d 100644 --- a/cmd/importer/db.go +++ b/cmd/importer/db.go @@ -22,8 +22,9 @@ import ( _ "github.com/go-sql-driver/mysql" "github.com/pingcap/errors" + "github.com/pingcap/log" "github.com/pingcap/parser/mysql" - log "github.com/sirupsen/logrus" + "go.uber.org/zap" ) func intRangeValue(column *column, min int64, max int64) (int64, int64) { @@ -31,13 +32,13 @@ func intRangeValue(column *column, min int64, max int64) (int64, int64) { if len(column.min) > 0 { min, err = strconv.ParseInt(column.min, 10, 64) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } if len(column.max) > 0 { max, err = strconv.ParseInt(column.max, 10, 64) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } } } @@ -67,7 +68,7 @@ func randInt64Value(column *column, min int64, max int64) int64 { idx := randInt(0, len(column.set)-1) data, err := strconv.ParseInt(column.set[idx], 10, 64) if err != nil { - log.Warnf("rand int64 error: %s", err) + log.Warn("rand int64 failed", zap.Error(err)) } return data } @@ -311,7 +312,7 @@ func closeDBs(dbs []*sql.DB) { for _, db := range dbs { err := closeDB(db) if err != nil { - log.Errorf("close db failed - %v", err) + log.Error("close DB failed", zap.Error(err)) } } } diff --git a/cmd/importer/job.go b/cmd/importer/job.go index 07277d38474e5..5284852987262 100644 --- a/cmd/importer/job.go +++ b/cmd/importer/job.go @@ -18,8 +18,8 @@ import ( "fmt" "time" - "github.com/pingcap/errors" - log "github.com/sirupsen/logrus" + "github.com/pingcap/log" + "go.uber.org/zap" ) func addJobs(jobCount int, jobChan chan struct{}) { @@ -33,24 +33,24 @@ func addJobs(jobCount int, jobChan chan struct{}) { func doInsert(table *table, db *sql.DB, count int) { sqls, err := genRowDatas(table, count) if err != nil { - log.Fatalf(errors.ErrorStack(err)) + log.Fatal("generate data failed", zap.Error(err)) } txn, err := db.Begin() if err != nil { - log.Fatalf(errors.ErrorStack(err)) + log.Fatal("begin failed", zap.Error(err)) } for _, sql := range sqls { _, err = txn.Exec(sql) if err != nil { - log.Fatalf(errors.ErrorStack(err)) + log.Fatal("exec failed", zap.Error(err)) } } err = txn.Commit() if err != nil { - log.Fatalf(errors.ErrorStack(err)) + log.Fatal("commit failed", zap.Error(err)) } } diff --git a/cmd/importer/stats.go b/cmd/importer/stats.go index c1f4896bb776f..1b67d94b9be16 100644 --- a/cmd/importer/stats.go +++ b/cmd/importer/stats.go @@ -20,12 +20,13 @@ import ( "time" "github.com/pingcap/errors" + "github.com/pingcap/log" "github.com/pingcap/parser/model" stats "github.com/pingcap/tidb/statistics" "github.com/pingcap/tidb/types" "github.com/pingcap/tidb/util/chunk" "github.com/pingcap/tidb/util/codec" - log "github.com/sirupsen/logrus" + "go.uber.org/zap" ) func loadStats(tblInfo *model.TableInfo, path string) (*stats.Table, error) { @@ -71,7 +72,7 @@ func (h *histogram) decodeInt(row *chunk.Row) int64 { data := row.GetBytes(0) _, result, err := codec.DecodeInt(data) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } return result } @@ -116,16 +117,16 @@ func (h *histogram) randDecimal() *types.MyDecimal { rd := rand.Float64() l, err := lower.ToFloat64() if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } r, err := upper.ToFloat64() if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } dec := &types.MyDecimal{} err = dec.FromFloat64(l + rd*(r-l)) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } return dec } @@ -135,7 +136,7 @@ func (h *histogram) randDecimal() *types.MyDecimal { func getValidPrefix(lower, upper string) string { for i := range lower { if i >= len(upper) { - log.Fatalf("lower %s is larger than upper %s", lower, upper) + log.Fatal("lower is larger than upper", zap.String("lower", lower), zap.String("upper", upper)) } if lower[i] != upper[i] { randCh := uint8(rand.Intn(int(upper[i]-lower[i]))) + lower[i] @@ -189,21 +190,21 @@ func (h *histogram) randDate(unit string, mysqlFmt string, dateFmt string) strin if diff == 0 { str, err := lower.DateFormat(mysqlFmt) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } return str } delta := randInt(0, int(diff)-1) l, err := lower.Time.GoTime(time.Local) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } l = l.AddDate(0, 0, delta) return l.Format(dateFmt) } str, err := h.Bounds.GetRow(idx).GetTime(0).DateFormat(mysqlFmt) if err != nil { - log.Fatal(err) + log.Fatal(err.Error()) } return str } diff --git a/distsql/select_result.go b/distsql/select_result.go index 24e4dde99e635..6a067fbb22359 100644 --- a/distsql/select_result.go +++ b/distsql/select_result.go @@ -26,8 +26,9 @@ import ( "github.com/pingcap/tidb/types" "github.com/pingcap/tidb/util/chunk" "github.com/pingcap/tidb/util/codec" + "github.com/pingcap/tidb/util/logutil" "github.com/pingcap/tipb/go-tipb" - log "github.com/sirupsen/logrus" + "go.uber.org/zap" ) var ( @@ -178,8 +179,10 @@ func (r *selectResult) updateCopRuntimeStats(callee string) { return } if len(r.selectResp.GetExecutionSummaries()) != len(r.copPlanIDs) { - log.Errorf("invalid cop task execution summaries length, expected: %v, received: %v", - len(r.copPlanIDs), len(r.selectResp.GetExecutionSummaries())) + logutil.Logger(context.Background()).Error("invalid cop task execution summaries length", + zap.Int("expected", len(r.copPlanIDs)), + zap.Int("received", len(r.selectResp.GetExecutionSummaries()))) + return } diff --git a/kv/txn.go b/kv/txn.go index 089edb00defb7..e8a133334d483 100644 --- a/kv/txn.go +++ b/kv/txn.go @@ -22,7 +22,8 @@ import ( "github.com/pingcap/errors" "github.com/pingcap/parser/terror" - log "github.com/sirupsen/logrus" + "github.com/pingcap/tidb/util/logutil" + "go.uber.org/zap" ) // ContextKey is the type of context's key @@ -38,7 +39,7 @@ func RunInNewTxn(store Storage, retryable bool, f func(txn Transaction) error) e for i := uint(0); i < maxRetryCnt; i++ { txn, err = store.Begin() if err != nil { - log.Errorf("[kv] RunInNewTxn error - %v", err) + logutil.Logger(context.Background()).Error("RunInNewTxn", zap.Error(err)) return errors.Trace(err) } @@ -52,7 +53,10 @@ func RunInNewTxn(store Storage, retryable bool, f func(txn Transaction) error) e err1 := txn.Rollback() terror.Log(errors.Trace(err1)) if retryable && IsRetryableError(err) { - log.Warnf("[kv] Retry txn %v original txn %v err %v", txn, originalTxnTS, err) + logutil.Logger(context.Background()).Warn("RunInNewTxn", + zap.Uint64("retry txn", txn.StartTS()), + zap.Uint64("original txn", originalTxnTS), + zap.Error(err)) continue } return errors.Trace(err) @@ -63,7 +67,10 @@ func RunInNewTxn(store Storage, retryable bool, f func(txn Transaction) error) e break } if retryable && IsRetryableError(err) { - log.Warnf("[kv] Retry txn %v original txn %v err %v", txn, originalTxnTS, err) + logutil.Logger(context.Background()).Warn("RunInNewTxn", + zap.Uint64("retry txn", txn.StartTS()), + zap.Uint64("original txn", originalTxnTS), + zap.Error(err)) BackOff(i) continue } diff --git a/kv/union_iter.go b/kv/union_iter.go index 01f198918f8b2..4b9258c84fee5 100644 --- a/kv/union_iter.go +++ b/kv/union_iter.go @@ -14,8 +14,10 @@ package kv import ( + "context" "github.com/pingcap/errors" - log "github.com/sirupsen/logrus" + "github.com/pingcap/tidb/util/logutil" + "go.uber.org/zap" ) // UnionIter is the iterator on an UnionStore. @@ -120,7 +122,8 @@ func (iter *UnionIter) updateCur() error { } else { // record from dirty comes first if len(iter.dirtyIt.Value()) == 0 { - log.Warnf("[kv] delete a record not exists? k = %q", iter.dirtyIt.Key()) + logutil.Logger(context.Background()).Warn("delete a record not exists?", + zap.Binary("key", iter.dirtyIt.Key())) // jump over this deletion if err := iter.dirtyNext(); err != nil { return errors.Trace(err) diff --git a/meta/autoid/autoid.go b/meta/autoid/autoid.go index 93e354ede3dd8..4d57b6b2fa174 100644 --- a/meta/autoid/autoid.go +++ b/meta/autoid/autoid.go @@ -14,6 +14,7 @@ package autoid import ( + "context" "math" "sync" "sync/atomic" @@ -25,7 +26,8 @@ import ( "github.com/pingcap/tidb/kv" "github.com/pingcap/tidb/meta" "github.com/pingcap/tidb/metrics" - log "github.com/sirupsen/logrus" + "github.com/pingcap/tidb/util/logutil" + "go.uber.org/zap" ) // Test needs to change it, so it's a variable. @@ -232,7 +234,10 @@ func (alloc *allocator) alloc4Unsigned(tableID int64) (int64, error) { } alloc.base = int64(uint64(alloc.base) + 1) - log.Debugf("[kv] Alloc id %d, table ID:%d, from %p, database ID:%d", uint64(alloc.base), tableID, alloc, alloc.dbID) + logutil.Logger(context.Background()).Debug("alloc unsigned ID", + zap.Uint64("ID", uint64(alloc.base)), + zap.Int64("table ID", tableID), + zap.Int64("database ID", alloc.dbID)) return alloc.base, nil } @@ -262,7 +267,10 @@ func (alloc *allocator) alloc4Signed(tableID int64) (int64, error) { } alloc.base++ - log.Debugf("[kv] Alloc id %d, table ID:%d, from %p, database ID:%d", alloc.base, tableID, alloc, alloc.dbID) + logutil.Logger(context.Background()).Debug("alloc signed ID", + zap.Uint64("ID", uint64(alloc.base)), + zap.Int64("table ID", tableID), + zap.Int64("database ID", alloc.dbID)) return alloc.base, nil } diff --git a/meta/meta.go b/meta/meta.go index e1c09c6a33ae0..d2827b2c4b970 100644 --- a/meta/meta.go +++ b/meta/meta.go @@ -14,6 +14,7 @@ package meta import ( + "context" "encoding/binary" "encoding/json" "fmt" @@ -31,7 +32,8 @@ import ( "github.com/pingcap/tidb/kv" "github.com/pingcap/tidb/metrics" "github.com/pingcap/tidb/structure" - log "github.com/sirupsen/logrus" + "github.com/pingcap/tidb/util/logutil" + "go.uber.org/zap" ) var ( @@ -746,10 +748,10 @@ func (m *Meta) RemoveDDLReorgHandle(job *model.Job) error { return errors.Trace(err) } if err = m.txn.HDel(mDDLJobReorgKey, m.reorgJobEndHandle(job.ID)); err != nil { - log.Warn("remove ddl reorg end handle error:", err) + logutil.Logger(context.Background()).Warn("remove DDL reorg end handle", zap.Error(err)) } if err = m.txn.HDel(mDDLJobReorgKey, m.reorgJobPhysicalTableID(job.ID)); err != nil { - log.Warn("remove ddl reorg physical id error:", err) + logutil.Logger(context.Background()).Warn("remove DDL reorg physical ID", zap.Error(err)) } return nil } @@ -780,7 +782,10 @@ func (m *Meta) GetDDLReorgHandle(job *model.Job) (startHandle, endHandle, physic endHandle = math.MaxInt64 } physicalTableID = job.TableID - log.Warnf("new TiDB binary running on old TiDB ddl reorg data, partition %v [%v %v]", physicalTableID, startHandle, endHandle) + logutil.Logger(context.Background()).Warn("new TiDB binary running on old TiDB DDL reorg data", + zap.Int64("partition ID", physicalTableID), + zap.Int64("startHandle", startHandle), + zap.Int64("endHandle", endHandle)) } return } diff --git a/plugin/plugin.go b/plugin/plugin.go index b331b339c2790..dfc09cce4fc7a 100644 --- a/plugin/plugin.go +++ b/plugin/plugin.go @@ -27,7 +27,8 @@ import ( "github.com/pingcap/tidb/domain" "github.com/pingcap/tidb/sessionctx/variable" "github.com/pingcap/tidb/util" - log "github.com/sirupsen/logrus" + "github.com/pingcap/tidb/util/logutil" + "go.uber.org/zap" ) // pluginGlobal holds all global variables for plugin. @@ -270,7 +271,7 @@ func (w *flushWatcher) watchLoop() { case <-watchChan: err := w.manifest.OnFlush(w.ctx, w.manifest) if err != nil { - log.Errorf("Notify plugin %s flush event failure: %v", w.manifest.Name, err) + logutil.Logger(context.Background()).Error("notify plugin flush event failed", zap.String("plugin", w.manifest.Name), zap.Error(err)) } } } diff --git a/types/datum.go b/types/datum.go index 550f32f49f74c..5c04ee1910939 100644 --- a/types/datum.go +++ b/types/datum.go @@ -14,6 +14,7 @@ package types import ( + "context" "fmt" "math" "sort" @@ -29,7 +30,8 @@ import ( "github.com/pingcap/tidb/sessionctx/stmtctx" "github.com/pingcap/tidb/types/json" "github.com/pingcap/tidb/util/hack" - log "github.com/sirupsen/logrus" + "github.com/pingcap/tidb/util/logutil" + "go.uber.org/zap" ) // Kind constants. @@ -1241,7 +1243,7 @@ func (d *Datum) convertToMysqlEnum(sc *stmtctx.StatementContext, target *FieldTy e, err = ParseEnumValue(target.Elems, uintDatum.GetUint64()) } if err != nil { - log.Error(err) + logutil.Logger(context.Background()).Error("convert to MySQL enum failed", zap.Error(err)) err = errors.Trace(ErrTruncated) } ret.SetValue(e) diff --git a/types/time.go b/types/time.go index 6102530f30e4d..7969a867c496e 100644 --- a/types/time.go +++ b/types/time.go @@ -15,6 +15,7 @@ package types import ( "bytes" + "context" "fmt" "math" "regexp" @@ -27,7 +28,7 @@ import ( "github.com/pingcap/parser/mysql" "github.com/pingcap/parser/terror" "github.com/pingcap/tidb/sessionctx/stmtctx" - log "github.com/sirupsen/logrus" + "github.com/pingcap/tidb/util/logutil" ) // Portable analogs of some common call errors. @@ -263,7 +264,7 @@ func (t Time) ToNumber() *MyDecimal { s, err := t.DateFormat(tfStr) if err != nil { - log.Error("Fatal: never happen because we've control the format!") + logutil.Logger(context.Background()).Error("[fatal] never happen because we've control the format!") } if t.Fsp > 0 {