Skip to content

Commit

Permalink
util: use one logger (#39176) (#39185)
Browse files Browse the repository at this point in the history
close #38941
  • Loading branch information
ti-chi-bot authored Nov 16, 2022
1 parent 3c8b5d5 commit cfec3aa
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 44 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ require (
github.com/pingcap/failpoint v0.0.0-20210316064728-7acb0f0a3dfd
github.com/pingcap/fn v0.0.0-20200306044125-d5540d389059
github.com/pingcap/kvproto v0.0.0-20220428033740-e4924274acd8
github.com/pingcap/log v0.0.0-20210906054005-afc726e70354
github.com/pingcap/log v1.1.1-0.20221116035753-734d527bc87c
github.com/pingcap/sysutil v0.0.0-20211208032423-041a72e5860d
github.com/pingcap/tidb-tools v5.2.2-0.20211019062242-37a8bef2fa17+incompatible
github.com/pingcap/tidb/parser v0.0.0-20211011031125-9b13dc409c5e
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -650,8 +650,8 @@ github.com/pingcap/log v0.0.0-20191012051959-b742a5d432e9/go.mod h1:4rbK1p9ILyIf
github.com/pingcap/log v0.0.0-20200511115504-543df19646ad/go.mod h1:4rbK1p9ILyIfb6hU7OG2CiWSqMXnp3JMbiaVJ6mvoY8=
github.com/pingcap/log v0.0.0-20210317133921-96f4fcab92a4/go.mod h1:4rbK1p9ILyIfb6hU7OG2CiWSqMXnp3JMbiaVJ6mvoY8=
github.com/pingcap/log v0.0.0-20210625125904-98ed8e2eb1c7/go.mod h1:8AanEdAHATuRurdGxZXBz0At+9avep+ub7U1AGYLIMM=
github.com/pingcap/log v0.0.0-20210906054005-afc726e70354 h1:SvWCbCPh1YeHd9yQLksvJYAgft6wLTY1aNG81tpyscQ=
github.com/pingcap/log v0.0.0-20210906054005-afc726e70354/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4=
github.com/pingcap/log v1.1.1-0.20221116035753-734d527bc87c h1:crhkw6DD+07Bg1wYhW5Piw+kYNKZqFQqfC2puUf6gMI=
github.com/pingcap/log v1.1.1-0.20221116035753-734d527bc87c/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4=
github.com/pingcap/sysutil v0.0.0-20210315073920-cc0985d983a3/go.mod h1:tckvA041UWP+NqYzrJ3fMgC/Hw9wnmQ/tUkp/JaHly8=
github.com/pingcap/sysutil v0.0.0-20210730114356-fcd8a63f68c5/go.mod h1:XsOaV712rUk63aOEKYP9PhXTIE3FMNHmC2r1wX5wElY=
github.com/pingcap/sysutil v0.0.0-20211208032423-041a72e5860d h1:k3/APKZjXOyJrFy8VyYwRlZhMelpD3qBLJNsw3bPl/g=
Expand Down
47 changes: 21 additions & 26 deletions util/logutil/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,37 +111,30 @@ func InitLogger(cfg *LogConfig) error {
return errors.Trace(err)
}

_, _, err = initGRPCLogger(cfg)
if err != nil {
return errors.Trace(err)
}

initGRPCLogger(gl)
return nil
}

func initGRPCLogger(cfg *LogConfig) (*zap.Logger, *log.ZapProperties, error) {
// Copy Config struct by assignment.
config := cfg.Config
var l *zap.Logger
var err error
var prop *log.ZapProperties
func initGRPCLogger(gl *zap.Logger) {
level := zapcore.ErrorLevel
verbosity := 0
if len(os.Getenv("GRPC_DEBUG")) > 0 {
config.Level = "debug"
l, prop, err = log.InitLogger(&config, zap.AddStacktrace(zapcore.FatalLevel))
if err != nil {
return nil, nil, errors.Trace(err)
}
gzap.ReplaceGrpcLoggerV2WithVerbosity(l, 999)
} else {
config.Level = "error"
l, prop, err = log.InitLogger(&config, zap.AddStacktrace(zapcore.FatalLevel))
if err != nil {
return nil, nil, errors.Trace(err)
}
gzap.ReplaceGrpcLoggerV2(l)
verbosity = 999
level = zapcore.DebugLevel
}

return l, prop, nil
newgl := gl.WithOptions(zap.WrapCore(func(core zapcore.Core) zapcore.Core {
oldcore, ok := core.(*log.TextIOCore)
if !ok {
return oldcore
}
newcore := oldcore.Clone()
leveler := zap.NewAtomicLevel()
leveler.SetLevel(level)
newcore.LevelEnabler = leveler
return newcore
}))
gzap.ReplaceGrpcLoggerV2WithVerbosity(newgl, verbosity)
}

// ReplaceLogger replace global logger instance with given log config.
Expand Down Expand Up @@ -218,9 +211,11 @@ func WithTraceLogger(ctx context.Context, connID uint64) context.Context {
}

func wrapTraceLogger(ctx context.Context, connID uint64, logger *zap.Logger) *zap.Logger {
// err must be nil
enc, _ := log.NewTextEncoder(&log.Config{})
return logger.WithOptions(zap.WrapCore(func(core zapcore.Core) zapcore.Core {
tl := &traceLog{ctx: ctx}
traceCore := log.NewTextCore(log.NewTextEncoder(&log.Config{}), tl, tl).
traceCore := log.NewTextCore(enc, tl, tl).
With([]zapcore.Field{zap.Uint64("conn", connID)})
return zapcore.NewTee(traceCore, core)
}))
Expand Down
15 changes: 0 additions & 15 deletions util/logutil/log_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,21 +100,6 @@ func TestSetLevel(t *testing.T) {
require.Equal(t, zap.DebugLevel, log.GetLevel())
}

func TestGrpcLoggerCreation(t *testing.T) {
level := "info"
conf := NewLogConfig(level, DefaultLogFormat, "", EmptyFileLogConfig, false)
_, p, err := initGRPCLogger(conf)
// assert after init grpc logger, the original conf is not changed
require.Equal(t, conf.Level, level)
require.Nil(t, err)
require.Equal(t, p.Level.Level(), zap.ErrorLevel)
os.Setenv("GRPC_DEBUG", "1")
defer os.Unsetenv("GRPC_DEBUG")
_, newP, err := initGRPCLogger(conf)
require.Nil(t, err)
require.Equal(t, newP.Level.Level(), zap.DebugLevel)
}

func TestSlowQueryLoggerCreation(t *testing.T) {
level := "Error"
conf := NewLogConfig(level, DefaultLogFormat, "", EmptyFileLogConfig, false)
Expand Down

0 comments on commit cfec3aa

Please sign in to comment.