diff --git a/internal/infrastructure/logger/zerolog.go b/internal/infrastructure/logger/zerolog.go index 9d55cc2..dbba318 100644 --- a/internal/infrastructure/logger/zerolog.go +++ b/internal/infrastructure/logger/zerolog.go @@ -6,31 +6,27 @@ import ( "github.com/rs/zerolog" ) -// Note: add time format types supported by zerolog as needed -const ( - DefaultTimeFormat TimeFormat = "2006/01/02 15:04:05" -) - +// ZeroLog is a logger type with zerolog.Logger support type ZeroLog struct { logger *zerolog.Logger } -type TimeFormat string - -func (tf TimeFormat) String() string { - return string(tf) -} - -func NewZeroLog(timeFormat TimeFormat) *ZeroLog { +// NewZeroLog returns an implemented ZeroLog instance. +func NewZeroLog() ZeroLog { writer := zerolog.NewConsoleWriter(func(w *zerolog.ConsoleWriter) { w.Out = os.Stderr - w.TimeFormat = timeFormat.String() + w.TimeFormat = "2006/01/02 15:04:05" }) zerolog.SetGlobalLevel(zerolog.DebugLevel) zl := zerolog.New(writer).With().Timestamp().Logger() - return &ZeroLog{ + return ZeroLog{ logger: &zl, } } + +// Log returns the pointer of the zerolog.Logger object +func (l ZeroLog) Log() *zerolog.Logger { + return l.logger +} diff --git a/internal/infrastructure/logger/zerolog_test.go b/internal/infrastructure/logger/zerolog_test.go index da4f358..5bbc8d0 100644 --- a/internal/infrastructure/logger/zerolog_test.go +++ b/internal/infrastructure/logger/zerolog_test.go @@ -7,6 +7,7 @@ import ( ) func TestNewZeroLog(t *testing.T) { - zl := NewZeroLog(DefaultTimeFormat) - assert.NotNil(t, zl) + zl := NewZeroLog() + assert.NotEqual(t, zl, ZeroLog{}) + zl.Log().Info().Msg("NewZeroLog tested successfully") }