Skip to content

Commit

Permalink
refactor: how to WithFields works
Browse files Browse the repository at this point in the history
  • Loading branch information
dd84ai committed Jan 27, 2024
1 parent 2b8b273 commit 5bf27f9
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 15 deletions.
2 changes: 1 addition & 1 deletion examples/params_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func TestCopyingLoggers(t *testing.T) {
logger := logcore.NewLogger("test", logcore.WithLogLevel(logcore.LEVEL_DEBUG), logcore.WithJsonFormat(true))

logger1 := logger.WithFields(logcore.String("smth", "123"))
logger2 := logger1.WithFields(logcore.Int("smth2", 2))
logger2 := logger1.WithFields(logcore.Int("smth2", 2), logcore.String("anotheparam", "abc"))
logger3 := logger2.WithFields(logcore.Time("smth3", time.Now()))

logger1.Info("logger1 printed")
Expand Down
4 changes: 2 additions & 2 deletions logcore/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ type Logger struct {
enable_json_format bool
log_level_slog *slog.LevelVar
level_log LogLevel
default_params []SlogParam
}

type LoggerParam func(r *Logger)
Expand Down Expand Up @@ -110,6 +109,7 @@ func (logger *Logger) Initialized() *Logger {

func (l *Logger) WithFields(opts ...SlogParam) *Logger {
var new_logger Logger = *l
new_logger.default_params = append(l.default_params, opts...)
new_logger.Initialized()
new_logger.logger = new_logger.logger.With(newSlogArgs(opts...)...)
return &new_logger
}
18 changes: 6 additions & 12 deletions logcore/msgs.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ import (

func (l *Logger) Debug(msg string, opts ...SlogParam) {
if IsMsgEnabled(l.level_log, LEVEL_DEBUG) {
args := append([]SlogAttr{}, newSlogArgs(l.default_params...)...)
args = append(args, newSlogArgs(opts...)...)
args := append([]SlogAttr{}, newSlogArgs(opts...)...)
if l.enable_file_showing {
args = append(args, logGroupFiles())
}
Expand All @@ -20,8 +19,7 @@ func (l *Logger) Debug(msg string, opts ...SlogParam) {

func (l *Logger) Info(msg string, opts ...SlogParam) {
if IsMsgEnabled(l.level_log, LEVEL_INFO) {
args := append([]SlogAttr{}, newSlogArgs(l.default_params...)...)
args = append(args, newSlogArgs(opts...)...)
args := append([]SlogAttr{}, newSlogArgs(opts...)...)
if l.enable_file_showing {
args = append(args, logGroupFiles())
}
Expand All @@ -33,8 +31,7 @@ func (l *Logger) Info(msg string, opts ...SlogParam) {
// Just potentially bad behavior to be aware of
func (l *Logger) Warn(msg string, opts ...SlogParam) {
if IsMsgEnabled(l.level_log, LEVEL_WARN) {
args := append([]SlogAttr{}, newSlogArgs(l.default_params...)...)
args = append(args, newSlogArgs(opts...)...)
args := append([]SlogAttr{}, newSlogArgs(opts...)...)
if l.enable_file_showing {
args = append(args, logGroupFiles())
}
Expand All @@ -46,8 +43,7 @@ func (l *Logger) Warn(msg string, opts ...SlogParam) {
// It is bad but program can recover from it
func (l *Logger) Error(msg string, opts ...SlogParam) {
if IsMsgEnabled(l.level_log, LEVEL_ERROR) {
args := append([]SlogAttr{}, newSlogArgs(l.default_params...)...)
args = append(args, newSlogArgs(opts...)...)
args := append([]SlogAttr{}, newSlogArgs(opts...)...)
if l.enable_file_showing {
args = append(args, logGroupFiles())
}
Expand All @@ -59,8 +55,7 @@ func (l *Logger) Error(msg string, opts ...SlogParam) {
// Program is not allowed to run further with fatal
func (l *Logger) Fatal(msg string, opts ...SlogParam) {
if IsMsgEnabled(l.level_log, LEVEL_FATAL) {
args := append([]SlogAttr{}, newSlogArgs(l.default_params...)...)
args = append(args, newSlogArgs(opts...)...)
args := append([]SlogAttr{}, newSlogArgs(opts...)...)
if l.enable_file_showing {
args = append(args, logGroupFiles())
}
Expand All @@ -70,8 +65,7 @@ func (l *Logger) Fatal(msg string, opts ...SlogParam) {
}

func (l *Logger) Panic(msg string, opts ...SlogParam) {
args := append([]SlogAttr{}, newSlogArgs(l.default_params...)...)
args = append(args, newSlogArgs(opts...)...)
args := append([]SlogAttr{}, newSlogArgs(opts...)...)
if l.enable_file_showing {
args = append(args, logGroupFiles())
}
Expand Down

0 comments on commit 5bf27f9

Please sign in to comment.