Skip to content

Commit 6dbf6ef

Browse files
authored
Fix Panic if nil is passed to With (#176)
1 parent 6720270 commit 6dbf6ef

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

go.mod

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
module github.com/snabble/go-logging/v2
22

3-
go 1.22
4-
toolchain go1.22.5
3+
go 1.22.0
4+
5+
toolchain go1.24.2
56

67
require (
78
github.com/samber/lo v1.49.1

logger.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66
"time"
77

8+
"github.com/samber/lo"
89
"github.com/sirupsen/logrus"
910
)
1011

@@ -128,6 +129,9 @@ func (entry *Entry) With(os ...Identifiable) *Entry {
128129
merged := map[string]any{}
129130

130131
for _, o := range os {
132+
if lo.IsEmpty(o) {
133+
continue
134+
}
131135
fields := o.LogIdentity()
132136
for k, v := range fields {
133137
merged[k] = v

logger_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ func Test_Logger_With_MergesMultipleObjects(t *testing.T) {
106106
a.Contains(out.String(), "field=__value__")
107107
}
108108

109+
func Test_Logger_With_HandleNil(t *testing.T) {
110+
logger := Logger{Logger: logrus.New()}
111+
112+
logger.With(nil).Info("message")
113+
}
114+
109115
func Test_Logger_Call(t *testing.T) {
110116
a := assert.New(t)
111117

0 commit comments

Comments
 (0)