You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by fa...@apache.org on 2019/12/06 05:33:43 UTC
[dubbo-go] branch develop updated: Add: add SetLoggerLevel
This is an automated email from the ASF dual-hosted git repository.
fangyc pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git
The following commit(s) were added to refs/heads/develop by this push:
new 88e3a7d Add: add SetLoggerLevel
new e6d7c04 Merge pull request #271 from fangyincheng/develop
88e3a7d is described below
commit 88e3a7dd16a7ef7e43c1c1d8aec009415b6544b5
Author: fangyincheng <fa...@sina.com>
AuthorDate: Sun Dec 1 15:27:47 2019 +0800
Add: add SetLoggerLevel
---
common/logger/logger.go | 27 ++++++++++++++++++++++++++-
common/logger/logger_test.go | 16 ++++++++++++++++
2 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/common/logger/logger.go b/common/logger/logger.go
index f41e957..db91d2e 100644
--- a/common/logger/logger.go
+++ b/common/logger/logger.go
@@ -40,6 +40,11 @@ var (
logger Logger
)
+type DubboLogger struct {
+ Logger
+ dynamicLevel zap.AtomicLevel
+}
+
type Logger interface {
Info(args ...interface{})
Warn(args ...interface{})
@@ -109,7 +114,8 @@ func InitLogger(conf *zap.Config) {
zapLoggerConfig = *conf
}
zapLogger, _ := zapLoggerConfig.Build(zap.AddCallerSkip(1))
- logger = zapLogger.Sugar()
+ //logger = zapLogger.Sugar()
+ logger = &DubboLogger{Logger: zapLogger.Sugar(), dynamicLevel: zapLoggerConfig.Level}
// set getty log
getty.SetLogger(logger)
@@ -123,3 +129,22 @@ func SetLogger(log Logger) {
func GetLogger() Logger {
return logger
}
+
+func SetLoggerLevel(level string) bool {
+ if l, ok := logger.(OpsLogger); ok {
+ l.SetLoggerLevel(level)
+ return true
+ }
+ return false
+}
+
+type OpsLogger interface {
+ Logger
+ SetLoggerLevel(level string)
+}
+
+func (dl *DubboLogger) SetLoggerLevel(level string) {
+ l := new(zapcore.Level)
+ l.Set(level)
+ dl.dynamicLevel.SetLevel(*l)
+}
diff --git a/common/logger/logger_test.go b/common/logger/logger_test.go
index e29b7cb..6081f71 100644
--- a/common/logger/logger_test.go
+++ b/common/logger/logger_test.go
@@ -65,3 +65,19 @@ func TestInitLog(t *testing.T) {
Warnf("%s", "warn")
Errorf("%s", "error")
}
+
+func TestSetLevel(t *testing.T) {
+ err := InitLog("./log.yml")
+ assert.NoError(t, err)
+ Debug("debug")
+ Info("info")
+
+ assert.True(t, SetLoggerLevel("info"))
+ Debug("debug")
+ Info("info")
+
+ SetLogger(GetLogger().(*DubboLogger).Logger)
+ assert.False(t, SetLoggerLevel("debug"))
+ Debug("debug")
+ Info("info")
+}