Skip to content

Commit

Permalink
Merge pull request #16 from leonidasdeim/prop-rework
Browse files Browse the repository at this point in the history
Simplify prop logging
  • Loading branch information
leodeim authored Feb 4, 2024
2 parents 6f26168 + b34f618 commit 3fbd73c
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 14 deletions.
6 changes: 3 additions & 3 deletions examples/examples.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func defaultLogger() {

func customLevel() {
l := log.New(log.WithName("cust"), log.WithLevel(log.Warning))
l.Warning().Prop("level", string(l.Level())).Msg("I only logging Warning level and above")
l.Warning().Prop("level", l.Level()).Msg("I only logging Warning level and above")
l.Info().Msg("This will not be writter to the log")
}

Expand Down Expand Up @@ -66,10 +66,10 @@ func nonBlocking() {

func propsLogger() {
l := log.New(log.WithName("props"), log.WithWriter(os.Stdout, log.FormatTextColor))
l.Warning().Prop("prop1", "hello").Prop("prop2", "world").Msg("I can log in simple text format")
l.Warning().Prop("prop1", 123).Prop("prop2", "hello").Msg("I can log in simple text format")
}

func propsJsonLogger() {
l := log.New(log.WithName("propsJson"), log.WithWriter(os.Stdout, log.FormatJson))
l.Warning().Prop("prop1", "hello").Prop("prop2", "world").Msg("I can log in simple json format")
l.Warning().Prop("prop1", struct{ Name string }{"Leo"}).Prop("prop2", 1.23).Msg("I can log in simple json format")
}
16 changes: 8 additions & 8 deletions formatter.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const (
const (
ColorTextLogFormat = "%s | %14s | %16s | %s %s"
TextLogFormat = "%s | %5s | %7s | %s %s"
TextPropFormat = " | %s=%s"
TextPropFormat = " | %s=%v"
)

var (
Expand Down Expand Up @@ -74,7 +74,7 @@ func (_formatter) text(props *formatterProps) (string, error) {
), nil
}

func messageProps(props map[string]string) string {
func messageProps(props map[string]interface{}) string {
all := strings.Builder{}

for k, v := range props {
Expand Down Expand Up @@ -104,7 +104,7 @@ func (_formatter) textColor(props *formatterProps) (string, error) {
), nil
}

func messagePropsColor(props map[string]string) string {
func messagePropsColor(props map[string]interface{}) string {
all := strings.Builder{}

for k, v := range props {
Expand Down Expand Up @@ -132,11 +132,11 @@ func levelToColor(level Level) string {
}

type JsonStruct struct {
Time string `json:"time"`
Level string `json:"level"`
Module string `json:"module"`
Message string `json:"message"`
Props map[string]string `json:"props"`
Time string `json:"time"`
Level string `json:"level"`
Module string `json:"module"`
Message string `json:"message"`
Props map[string]interface{} `json:"props"`
}

func (_formatter) json(props *formatterProps) (string, error) {
Expand Down
2 changes: 1 addition & 1 deletion log.go
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ func (l *log) newMessage(level Level) *message {
return &message{
super: l,
level: level,
props: make(map[string]string),
props: make(map[string]interface{}),
}
}

Expand Down
4 changes: 2 additions & 2 deletions message.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ type message struct {
super *log
level Level
text string
props map[string]string
props map[string]interface{}
}

func (m *message) Msg(text string) {
Expand All @@ -19,7 +19,7 @@ func (m *message) Msgf(format string, args ...any) {
m.super.processor.Do(m)
}

func (m *message) Prop(key string, value string) *message {
func (m *message) Prop(key string, value interface{}) *message {
m.props[key] = value
return m
}

0 comments on commit 3fbd73c

Please sign in to comment.