@@ -25,9 +25,9 @@ import (
25
25
type encoderConfigFunc func (* zapcore.EncoderConfig )
26
26
27
27
type encoderValue struct {
28
- set bool
29
- newEncoder zapcore.Encoder
30
- str string
28
+ set bool
29
+ setFunc func ( zapcore.Encoder )
30
+ str string
31
31
}
32
32
33
33
func (v encoderValue ) String () string {
@@ -43,13 +43,9 @@ func (v *encoderValue) Set(e string) error {
43
43
val := strings .ToLower (e )
44
44
switch val {
45
45
case "json" :
46
- v .newEncoder = newJSONEncoder ()
47
- fmt .Printf ("got JSON : %p \n " , v .newEncoder )
48
-
46
+ v .setFunc (newJSONEncoder ())
49
47
case "console" :
50
- v .newEncoder = newConsoleEncoder ()
51
- fmt .Printf ("got CONSOLE : %p \n " , v .newEncoder )
52
-
48
+ v .setFunc (newConsoleEncoder ())
53
49
default :
54
50
return fmt .Errorf ("invalid encoder value \" %s\" " , e )
55
51
}
@@ -74,62 +70,58 @@ func newConsoleEncoder(ecfs ...encoderConfigFunc) zapcore.Encoder {
74
70
}
75
71
76
72
type levelValue struct {
77
- set bool
78
- level zap.AtomicLevel
73
+ set bool
74
+ setFunc func (zap.AtomicLevel )
75
+ str string
79
76
}
80
77
81
78
func (v * levelValue ) Set (l string ) error {
82
79
v .set = true
83
80
lower := strings .ToLower (l )
84
- var lvl zap.AtomicLevel
85
81
switch lower {
86
82
case "debug" :
87
- lvl = zap .NewAtomicLevelAt (zap .DebugLevel )
83
+ v . setFunc ( zap .NewAtomicLevelAt (zap .DebugLevel ) )
88
84
case "info" :
89
- lvl = zap .NewAtomicLevelAt (zap .InfoLevel )
85
+ v . setFunc ( zap .NewAtomicLevelAt (zap .InfoLevel ) )
90
86
default :
91
87
return fmt .Errorf ("invalid log level \" %s\" " , l )
92
88
}
93
- //v.level.SetLevel(zapcore.Level(int8(lvl)))
94
- v .level = lvl
95
- fmt .Println ("*******" , v .level )
96
-
89
+ v .str = l
97
90
return nil
98
91
}
99
92
100
93
func (v levelValue ) String () string {
101
- return v .level . String ()
94
+ return v .str
102
95
}
103
96
104
97
func (v levelValue ) Type () string {
105
98
return "level"
106
99
}
107
100
108
101
type stackTraceValue struct {
109
- set bool
110
- lv zap.AtomicLevel
102
+ set bool
103
+ setFunc func (zap.AtomicLevel )
104
+ str string
111
105
}
112
106
113
107
func (s * stackTraceValue ) Set (val string ) error {
114
108
s .set = true
115
109
lower := strings .ToLower (val )
116
- //var lv1 zap.AtomicLevel
117
110
switch lower {
118
111
case "warn" :
119
- s .lv = zap .NewAtomicLevelAt (zap .WarnLevel )
112
+ s .setFunc ( zap .NewAtomicLevelAt (zap .WarnLevel ) )
120
113
case "error" :
121
- s .lv = zap .NewAtomicLevelAt (zap .ErrorLevel )
114
+ s .setFunc ( zap .NewAtomicLevelAt (zap .ErrorLevel ) )
122
115
default :
123
116
return fmt .Errorf ("invalid stacktrace level \" %s\" " , val )
124
117
}
125
- //s.lv = lv1
126
118
return nil
127
119
}
128
120
129
121
func (s stackTraceValue ) String () string {
130
- return s .lv . String ()
122
+ return s .str
131
123
}
132
124
133
125
func (_ stackTraceValue ) Type () string {
134
- return "lv "
126
+ return "level "
135
127
}
0 commit comments