Skip to content

Commit 3fbd73c

Browse files
authored
Merge pull request #16 from leonidasdeim/prop-rework
Simplify prop logging
2 parents 6f26168 + b34f618 commit 3fbd73c

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

examples/examples.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ func defaultLogger() {
1515

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

@@ -66,10 +66,10 @@ func nonBlocking() {
6666

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

7272
func propsJsonLogger() {
7373
l := log.New(log.WithName("propsJson"), log.WithWriter(os.Stdout, log.FormatJson))
74-
l.Warning().Prop("prop1", "hello").Prop("prop2", "world").Msg("I can log in simple json format")
74+
l.Warning().Prop("prop1", struct{ Name string }{"Leo"}).Prop("prop2", 1.23).Msg("I can log in simple json format")
7575
}

formatter.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const (
2020
const (
2121
ColorTextLogFormat = "%s | %14s | %16s | %s %s"
2222
TextLogFormat = "%s | %5s | %7s | %s %s"
23-
TextPropFormat = " | %s=%s"
23+
TextPropFormat = " | %s=%v"
2424
)
2525

2626
var (
@@ -74,7 +74,7 @@ func (_formatter) text(props *formatterProps) (string, error) {
7474
), nil
7575
}
7676

77-
func messageProps(props map[string]string) string {
77+
func messageProps(props map[string]interface{}) string {
7878
all := strings.Builder{}
7979

8080
for k, v := range props {
@@ -104,7 +104,7 @@ func (_formatter) textColor(props *formatterProps) (string, error) {
104104
), nil
105105
}
106106

107-
func messagePropsColor(props map[string]string) string {
107+
func messagePropsColor(props map[string]interface{}) string {
108108
all := strings.Builder{}
109109

110110
for k, v := range props {
@@ -132,11 +132,11 @@ func levelToColor(level Level) string {
132132
}
133133

134134
type JsonStruct struct {
135-
Time string `json:"time"`
136-
Level string `json:"level"`
137-
Module string `json:"module"`
138-
Message string `json:"message"`
139-
Props map[string]string `json:"props"`
135+
Time string `json:"time"`
136+
Level string `json:"level"`
137+
Module string `json:"module"`
138+
Message string `json:"message"`
139+
Props map[string]interface{} `json:"props"`
140140
}
141141

142142
func (_formatter) json(props *formatterProps) (string, error) {

log.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ func (l *log) newMessage(level Level) *message {
245245
return &message{
246246
super: l,
247247
level: level,
248-
props: make(map[string]string),
248+
props: make(map[string]interface{}),
249249
}
250250
}
251251

message.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ type message struct {
66
super *log
77
level Level
88
text string
9-
props map[string]string
9+
props map[string]interface{}
1010
}
1111

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

22-
func (m *message) Prop(key string, value string) *message {
22+
func (m *message) Prop(key string, value interface{}) *message {
2323
m.props[key] = value
2424
return m
2525
}

0 commit comments

Comments
 (0)