Skip to content

Commit 40df381

Browse files
Removed time encoder flag
1 parent 788241a commit 40df381

File tree

3 files changed

+28
-114
lines changed

3 files changed

+28
-114
lines changed

pkg/log/zap/flags.go

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -70,31 +70,6 @@ func (ev *encoderFlag) Set(flagValue string) error {
7070
return nil
7171
}
7272

73-
type timeEncoderFlag struct {
74-
setFunc func(zapcore.TimeEncoder)
75-
value string
76-
}
77-
78-
var _ flag.Value = &timeEncoderFlag{}
79-
80-
func (ev *timeEncoderFlag) String() string {
81-
return ev.value
82-
}
83-
84-
func (ev *timeEncoderFlag) Type() string {
85-
return "timeencoder"
86-
}
87-
88-
func (ev *timeEncoderFlag) Set(flagValue string) error {
89-
var encoder zapcore.TimeEncoder
90-
if err := encoder.UnmarshalText([]byte(flagValue)); err != nil {
91-
return fmt.Errorf("unable to unmarshal, \"%s\"", flagValue)
92-
}
93-
ev.setFunc(encoder)
94-
ev.value = flagValue
95-
return nil
96-
}
97-
9873
type levelFlag struct {
9974
setFunc func(zapcore.LevelEnabler)
10075
value string

pkg/log/zap/zap.go

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -121,17 +121,6 @@ func newConsoleEncoder(ecfs ...EncoderConfigOption) zapcore.Encoder {
121121
return zapcore.NewConsoleEncoder(encoderConfig)
122122
}
123123

124-
// TimeEncoder configures how the logger will encode time format.
125-
// See Options.EncoderConfigOptions
126-
func TimeEncoder(timeEncoder zapcore.TimeEncoder) func(o *Options) {
127-
return func(o *Options) {
128-
f := func(ec *zapcore.EncoderConfig) {
129-
ec.EncodeTime = timeEncoder
130-
}
131-
o.EncoderConfigOptions = append(o.EncoderConfigOptions, f)
132-
}
133-
}
134-
135124
// Level sets the the minimum enabled logging level e.g Debug, Info
136125
// See Options.Level
137126
func Level(level zapcore.LevelEnabler) func(o *Options) {
@@ -255,7 +244,6 @@ func NewRaw(opts ...Opts) *zap.Logger {
255244
// zap-devel: Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn)
256245
// Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error)
257246
// zap-encoder: Zap log encoding (Eg., 'json' or 'console')
258-
// zap-time-encoder: Zap time encoding format, defaults to 'epoch'.
259247
// zap-log-level: Zap Level to configure the verbosity of logging. Can be one of 'debug', 'info', 'error',
260248
// or any integer value > 0 which corresponds to custom debug levels of increasing verbosity")
261249
// zap-stacktrace-level: Zap Level at and above which stacktraces are captured (one of 'warn' or 'error')
@@ -266,14 +254,6 @@ func (o *Options) BindFlags(fs *flag.FlagSet) {
266254
"Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). "+
267255
"Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error)")
268256

269-
// Set TimeEncoder value
270-
var timeEncVal timeEncoderFlag
271-
timeEncVal.setFunc = func(fromFlag zapcore.TimeEncoder) {
272-
// Set o.EncoderConfigOptions with zap-time-encoder
273-
TimeEncoder(fromFlag)(o)
274-
}
275-
fs.Var(&timeEncVal, "zap-time-encoder", "Zap time encoding format, defaults to 'epoch'")
276-
277257
// Set Encoder value
278258
var encVal encoderFlag
279259
encVal.setFunc = func(fromFlag NewEncoderFunc) {

pkg/log/zap/zap_test.go

Lines changed: 28 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -341,91 +341,50 @@ var _ = Describe("Zap flag options setup", func() {
341341

342342
})
343343
})
344-
Context("with direct Options provided, and no Flag values", func() {
345344

346-
It("Should set dev=true, and default ConsoleEncoder with EpochTime stated in o.addDefaults()", func() {
345+
Context("with encoder options provided.", func() {
346+
347+
It("Should set Console Encoder, with given Nanos TimEncoder option.", func() {
347348
logOut := new(bytes.Buffer)
348-
log := New(UseDevMode(true), WriteTo(logOut))
349+
f := func(ec *zapcore.EncoderConfig) {
350+
if err := ec.EncodeTime.UnmarshalText([]byte("nanos")); err != nil {
351+
Expect(err).ToNot(HaveOccurred())
352+
}
353+
}
354+
opts := func(o *Options) {
355+
o.EncoderConfigOptions = append(o.EncoderConfigOptions, f)
356+
}
357+
log := New(UseDevMode(true), WriteTo(logOut), opts)
349358
log.Info("This is a test message")
350359
outRaw := logOut.Bytes()
351-
// Assert for default Epoch Time format
352-
Expect(string(outRaw)).Should(ContainSubstring("-"))
353360
// Assert for Console Encoder
354361
res := map[string]interface{}{}
355362
Expect(json.Unmarshal(outRaw, &res)).ToNot(Succeed())
356-
357-
})
358-
It("Should set dev=false, and JSON encoder with EpochNanosTime stated in o.addDefaults()", func() {
359-
logOut := new(bytes.Buffer)
360-
log := New(UseDevMode(false), TimeEncoder(zapcore.EpochNanosTimeEncoder), WriteTo(logOut))
361-
log.Info("This is a test message")
362-
outRaw := logOut.Bytes()
363-
// Assert for Epoch Nanos time format
363+
// Assert for Epoch Nanos TimeEncoder
364364
Expect(string(outRaw)).ShouldNot(ContainSubstring("."))
365-
// Assert for JSON Encoder
366-
res := map[string]interface{}{}
367-
Expect(json.Unmarshal(outRaw, &res)).To(Succeed())
368365

369366
})
370-
})
371-
372-
Context("with -zap-encoder and -zap-time-encoder options provided.", func() {
373-
374-
It("Should set JSON Encoder, with given TimEncoder options.", func() {
375-
args := []string{"-zap-encoder=json", "-zap-time-encoder=millis"}
376-
fromFlags.BindFlags(&fs)
377-
if err := fs.Parse(args); err != nil {
378-
Expect(err).ToNot(HaveOccurred())
379-
}
380-
367+
It("Should set JSON Encoder, with given Millis TimEncoder option, and MessageKey", func() {
381368
logOut := new(bytes.Buffer)
382-
log := New(UseFlagOptions(&fromFlags), WriteTo(logOut))
383-
log.Info("This is a test message")
384-
outRaw := logOut.Bytes()
385-
386-
// Assert for millis Time format
387-
Expect(string(outRaw)).Should(ContainSubstring("."))
388-
// Assert for JSON Encoder
389-
res := map[string]interface{}{}
390-
Expect(json.Unmarshal(outRaw, &res)).To(Succeed())
391-
})
392-
393-
It("Should set Console Encoder, with given TimEncoder options.", func() {
394-
args := []string{"-zap-encoder=console", "-zap-time-encoder=nanos"}
395-
fromFlags.BindFlags(&fs)
396-
if err := fs.Parse(args); err != nil {
397-
Expect(err).ToNot(HaveOccurred())
369+
f := func(ec *zapcore.EncoderConfig) {
370+
ec.MessageKey = "MillisTimeFormat"
371+
if err := ec.EncodeTime.UnmarshalText([]byte("millis")); err != nil {
372+
Expect(err).ToNot(HaveOccurred())
373+
}
398374
}
399-
400-
logOut := new(bytes.Buffer)
401-
log := New(UseFlagOptions(&fromFlags), WriteTo(logOut))
402-
log.Info("This is a test message")
403-
outRaw := logOut.Bytes()
404-
405-
// Assert for nanos Time format
406-
Expect(string(outRaw)).ToNot(ContainSubstring("."))
407-
// Assert for CONSOLE Encoder
408-
res := map[string]interface{}{}
409-
Expect(json.Unmarshal(outRaw, &res)).ToNot(Succeed())
410-
})
411-
412-
It("Should set Console Encoder, with default epoch time format.", func() {
413-
args := []string{"-zap-encoder=console", "-zap-time-encoder=dummyyyy"}
414-
fromFlags.BindFlags(&fs)
415-
if err := fs.Parse(args); err != nil {
416-
Expect(err).ToNot(HaveOccurred())
375+
opts := func(o *Options) {
376+
o.EncoderConfigOptions = append(o.EncoderConfigOptions, f)
417377
}
418-
419-
logOut := new(bytes.Buffer)
420-
log := New(UseFlagOptions(&fromFlags), WriteTo(logOut))
378+
log := New(UseDevMode(false), WriteTo(logOut), opts)
421379
log.Info("This is a test message")
422380
outRaw := logOut.Bytes()
423-
424-
// Assert for default Epoch Time format
425-
Expect(string(outRaw)).To(ContainSubstring("."))
426-
// Assert for CONSOLE Encoder
381+
// Assert for JSON Encoder
427382
res := map[string]interface{}{}
428-
Expect(json.Unmarshal(outRaw, &res)).ToNot(Succeed())
383+
Expect(json.Unmarshal(outRaw, &res)).To(Succeed())
384+
// Assert for Epoch Nanos TimeEncoder
385+
Expect(string(outRaw)).Should(ContainSubstring("."))
386+
// Assert for MessageKey
387+
Expect(string(outRaw)).Should(ContainSubstring("MillisTimeFormat"))
429388
})
430389

431390
})

0 commit comments

Comments
 (0)