Skip to content

Commit 8064048

Browse files
authored
use pingcap/log to refactor log (pingcap#195)
1 parent 369933f commit 8064048

File tree

118 files changed

+1508
-1147
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+1508
-1147
lines changed

checker/check_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ import (
1717
"context"
1818
"testing"
1919

20-
tc "github.com/pingcap/check"
2120
"github.com/pingcap/dm/dm/config"
21+
22+
tc "github.com/pingcap/check"
2223
)
2324

2425
func TestChecker(t *testing.T) {

checker/checker.go

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ import (
2323
"sync"
2424
"time"
2525

26+
"github.com/pingcap/dm/dm/config"
27+
"github.com/pingcap/dm/dm/pb"
28+
"github.com/pingcap/dm/dm/unit"
29+
fr "github.com/pingcap/dm/pkg/func-rollback"
30+
"github.com/pingcap/dm/pkg/log"
31+
"github.com/pingcap/dm/pkg/utils"
32+
2633
_ "github.com/go-sql-driver/mysql" // for mysql
2734
"github.com/pingcap/errors"
2835
"github.com/pingcap/tidb-tools/pkg/check"
@@ -31,13 +38,7 @@ import (
3138
"github.com/pingcap/tidb-tools/pkg/filter"
3239
"github.com/pingcap/tidb-tools/pkg/table-router"
3340
"github.com/siddontang/go/sync2"
34-
35-
"github.com/pingcap/dm/dm/config"
36-
"github.com/pingcap/dm/dm/pb"
37-
"github.com/pingcap/dm/dm/unit"
38-
fr "github.com/pingcap/dm/pkg/func-rollback"
39-
"github.com/pingcap/dm/pkg/log"
40-
"github.com/pingcap/dm/pkg/utils"
41+
"go.uber.org/zap"
4142
)
4243

4344
type mysqlInstance struct {
@@ -54,6 +55,8 @@ type mysqlInstance struct {
5455
type Checker struct {
5556
closed sync2.AtomicBool
5657

58+
logger log.Logger
59+
5760
instances []*mysqlInstance
5861

5962
checkList []check.Checker
@@ -69,6 +72,7 @@ func NewChecker(cfgs []*config.SubTaskConfig, checkingItems map[string]string) *
6972
c := &Checker{
7073
instances: make([]*mysqlInstance, 0, len(cfgs)),
7174
checkingItems: checkingItems,
75+
logger: log.With(zap.String("unit", "task check")),
7276
}
7377

7478
for _, cfg := range cfgs {
@@ -204,7 +208,7 @@ func (c *Checker) Init() (err error) {
204208
}
205209
}
206210

207-
log.Infof(c.displayCheckingItems())
211+
c.logger.Info(c.displayCheckingItems())
208212
return nil
209213
}
210214

@@ -272,14 +276,14 @@ func (c *Checker) closeDBs() {
272276
for _, instance := range c.instances {
273277
if instance.sourceDB != nil {
274278
if err := dbutil.CloseDB(instance.sourceDB); err != nil {
275-
log.Errorf("close source db %+v error %v", instance.sourceDBinfo, err)
279+
c.logger.Error("close source db", zap.Stringer("db", instance.sourceDBinfo), log.ShortError(err))
276280
}
277281
instance.sourceDB = nil
278282
}
279283

280284
if instance.targetDB != nil {
281285
if err := dbutil.CloseDB(instance.targetDB); err != nil {
282-
log.Errorf("close target db %+v error %v", instance.targetDBInfo, err)
286+
c.logger.Error("close target db", zap.Stringer("db", instance.targetDBInfo), log.ShortError(err))
283287
}
284288
instance.targetDB = nil
285289
}
@@ -289,15 +293,15 @@ func (c *Checker) closeDBs() {
289293
// Pause implements Unit interface
290294
func (c *Checker) Pause() {
291295
if c.closed.Get() {
292-
log.Warn("[checker] try to pause, but already closed")
296+
c.logger.Warn("try to pause, but already closed")
293297
return
294298
}
295299
}
296300

297301
// Resume resumes the paused process
298302
func (c *Checker) Resume(ctx context.Context, pr chan pb.ProcessResult) {
299303
if c.closed.Get() {
300-
log.Warn("[checker] try to resume, but already closed")
304+
c.logger.Warn("try to resume, but already closed")
301305
return
302306
}
303307

checker/cmd.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818

1919
"github.com/pingcap/dm/dm/config"
2020
"github.com/pingcap/dm/dm/pb"
21+
2122
"github.com/pingcap/errors"
2223
)
2324

cmd/dm-ctl/main.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,14 @@ func main() {
4848

4949
// now, we use checker in dmctl while it using some pkg which log some thing when running
5050
// to make dmctl output more clear, simply redirect log to file rather output to stdout
51-
log.SetLevelByString("info")
52-
log.SetOutputByName("dmctl.log")
51+
err = log.InitLogger(&log.Config{
52+
File: "dmctl.log",
53+
Level: "info",
54+
})
55+
if err != nil {
56+
fmt.Printf("init logger error %v", errors.ErrorStack(err))
57+
os.Exit(2)
58+
}
5359

5460
err = ctl.Init(cfg)
5561
if err != nil {
@@ -110,5 +116,10 @@ func loop() {
110116

111117
args := strings.Fields(line)
112118
ctl.Start(args)
119+
120+
syncErr := log.L().Sync()
121+
if syncErr != nil {
122+
fmt.Fprintln(os.Stderr, "sync log failed", syncErr)
123+
}
113124
}
114125
}

cmd/dm-master/main.go

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,18 @@ package main
1515

1616
import (
1717
"flag"
18+
"fmt"
1819
"os"
1920
"os/signal"
2021
"strings"
2122
"syscall"
2223

24+
"github.com/pingcap/errors"
25+
"go.uber.org/zap"
26+
2327
"github.com/pingcap/dm/dm/master"
2428
"github.com/pingcap/dm/pkg/log"
2529
"github.com/pingcap/dm/pkg/utils"
26-
"github.com/pingcap/errors"
2730
)
2831

2932
func main() {
@@ -34,17 +37,21 @@ func main() {
3437
case flag.ErrHelp:
3538
os.Exit(0)
3639
default:
37-
log.Errorf("parse cmd flags err %s", err)
40+
fmt.Printf("parse cmd flags err %s", err)
3841
os.Exit(2)
3942
}
4043

41-
log.SetLevelByString(strings.ToLower(cfg.LogLevel))
42-
if len(cfg.LogFile) > 0 {
43-
log.SetOutputByName(cfg.LogFile)
44+
err = log.InitLogger(&log.Config{
45+
File: cfg.LogFile,
46+
Level: strings.ToLower(cfg.LogLevel),
47+
})
48+
if err != nil {
49+
fmt.Printf("init logger error %v", errors.ErrorStack(err))
50+
os.Exit(2)
4451
}
4552

4653
utils.PrintInfo("dm-master", func() {
47-
log.Infof("config: %s", cfg)
54+
log.L().Info("", zap.Stringer("dm-master config", cfg))
4855
})
4956

5057
sc := make(chan os.Signal, 1)
@@ -58,15 +65,24 @@ func main() {
5865

5966
go func() {
6067
sig := <-sc
61-
log.Infof("got signal [%v], exit", sig)
68+
log.L().Info("got signal to exit", zap.Stringer("signal", sig))
6269
server.Close()
6370
}()
6471

6572
err = server.Start()
6673
if err != nil {
67-
log.Errorf("dm-master start with error %v", errors.ErrorStack(err))
74+
log.L().Error("fail to start dm-master", zap.Error(err))
6875
}
6976
server.Close()
7077

71-
log.Info("dm-master exit")
78+
log.L().Info("dm-master exit")
79+
80+
syncErr := log.L().Sync()
81+
if syncErr != nil {
82+
fmt.Fprintln(os.Stderr, "sync log failed", syncErr)
83+
}
84+
85+
if err != nil || syncErr != nil {
86+
os.Exit(1)
87+
}
7288
}

cmd/dm-tracer/main.go

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ package main
1515

1616
import (
1717
"flag"
18+
"fmt"
1819
"os"
1920
"os/signal"
2021
"strings"
@@ -24,6 +25,7 @@ import (
2425
"github.com/pingcap/dm/pkg/log"
2526
"github.com/pingcap/dm/pkg/utils"
2627
"github.com/pingcap/errors"
28+
"go.uber.org/zap"
2729
)
2830

2931
func main() {
@@ -34,17 +36,21 @@ func main() {
3436
case flag.ErrHelp:
3537
os.Exit(0)
3638
default:
37-
log.Errorf("parse cmd flags err %s", err)
39+
fmt.Printf("parse cmd flags err %s", err)
3840
os.Exit(2)
3941
}
4042

41-
log.SetLevelByString(strings.ToLower(cfg.LogLevel))
42-
if len(cfg.LogFile) > 0 {
43-
log.SetOutputByName(cfg.LogFile)
43+
err = log.InitLogger(&log.Config{
44+
File: cfg.LogFile,
45+
Level: strings.ToLower(cfg.LogLevel),
46+
})
47+
if err != nil {
48+
fmt.Printf("init logger error %v", errors.ErrorStack(err))
49+
os.Exit(2)
4450
}
4551

46-
utils.PrintInfo("tracer", func() {
47-
log.Infof("config: %s", cfg)
52+
utils.PrintInfo("dm-tracer", func() {
53+
log.L().Info("", zap.Stringer("dm-tracer config", cfg))
4854
})
4955

5056
sc := make(chan os.Signal, 1)
@@ -58,14 +64,23 @@ func main() {
5864

5965
go func() {
6066
sig := <-sc
61-
log.Infof("got signal [%v] to exit", sig)
67+
log.L().Info("got signal to exit", zap.Stringer("signal", sig))
6268
s.Close()
6369
}()
6470

6571
err = s.Start()
6672
if err != nil {
67-
log.Errorf("start dm-tracer err %s", err)
73+
log.L().Error("fail to start dm-tracer", zap.Error(err))
6874
}
6975
s.Close() // wait until closed
70-
log.Info("dm-tracer exit")
76+
log.L().Info("dm-tracer exit")
77+
78+
syncErr := log.L().Sync()
79+
if syncErr != nil {
80+
fmt.Fprintln(os.Stderr, "sync log failed", syncErr)
81+
}
82+
83+
if err != nil || syncErr != nil {
84+
os.Exit(1)
85+
}
7186
}

cmd/dm-worker/main.go

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ package main
1515

1616
import (
1717
"flag"
18+
"fmt"
1819
"os"
1920
"os/signal"
2021
"strings"
@@ -23,7 +24,9 @@ import (
2324
"github.com/pingcap/dm/dm/worker"
2425
"github.com/pingcap/dm/pkg/log"
2526
"github.com/pingcap/dm/pkg/utils"
27+
2628
"github.com/pingcap/errors"
29+
"go.uber.org/zap"
2730
)
2831

2932
func main() {
@@ -34,17 +37,21 @@ func main() {
3437
case flag.ErrHelp:
3538
os.Exit(0)
3639
default:
37-
log.Errorf("parse cmd flags err %s", err)
40+
log.L().Error("parse cmd flags", log.ShortError(err))
3841
os.Exit(2)
3942
}
4043

41-
log.SetLevelByString(strings.ToLower(cfg.LogLevel))
42-
if len(cfg.LogFile) > 0 {
43-
log.SetOutputByName(cfg.LogFile)
44+
err = log.InitLogger(&log.Config{
45+
File: cfg.LogFile,
46+
Level: strings.ToLower(cfg.LogLevel),
47+
})
48+
if err != nil {
49+
fmt.Printf("init logger error %v", errors.ErrorStack(err))
50+
os.Exit(2)
4451
}
4552

46-
utils.PrintInfo("worker", func() {
47-
log.Infof("config: %s", cfg)
53+
utils.PrintInfo("dm-worker", func() {
54+
log.L().Info("", zap.Stringer("dm-worker config", cfg))
4855
})
4956

5057
sc := make(chan os.Signal, 1)
@@ -58,15 +65,23 @@ func main() {
5865

5966
go func() {
6067
sig := <-sc
61-
log.Infof("got signal [%v] to exit", sig)
68+
log.L().Info("got signal to exit", zap.Stringer("signal", sig))
6269
s.Close()
6370
}()
6471

6572
err = s.Start()
6673
if err != nil {
67-
log.Errorf("start dm-worker err %s", err)
68-
os.Exit(2)
74+
log.L().Error("fail to start dm-worker", zap.Error(err))
6975
}
7076
s.Close() // wait until closed
71-
log.Info("dm-worker exit")
77+
log.L().Info("dm-worker exit")
78+
79+
syncErr := log.L().Sync()
80+
if syncErr != nil {
81+
fmt.Fprintln(os.Stderr, "sync log failed", syncErr)
82+
}
83+
84+
if err != nil || syncErr != nil {
85+
os.Exit(1)
86+
}
7287
}

cmd/dm-worker/main_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ import (
2323

2424
"github.com/pingcap/dm/pkg/log"
2525
"github.com/pingcap/dm/pkg/utils"
26+
27+
"go.uber.org/zap"
2628
)
2729

2830
func TestRunMain(t *testing.T) {
@@ -51,7 +53,7 @@ func TestRunMain(t *testing.T) {
5153
oldOsExit := utils.OsExit
5254
defer func() { utils.OsExit = oldOsExit }()
5355
utils.OsExit = func(code int) {
54-
log.Infof("[test] os.Exit with code %d", code)
56+
log.L().Info("os exits", zap.Int("exit code", code))
5557
exit <- code
5658
// sleep here to prevent following code execution in the caller routine
5759
time.Sleep(time.Second * 60)

0 commit comments

Comments
 (0)