Home

Handler samber/slog-logrus

Handlers
Bench Tests
Verify Tests
Summary Links

samber/slog-logrus is a wrapper around the pre-existing sirupsen/logrus logging library.

samber/slog-logrus
sirupsen/logrus

Benchmark Data

Score: 8.29
Benchmark Runs Ns/Op Allocs/Op Bytes/Op MB/Sec Score
Attributes 68,683 17,200.00 91 8,503 23.72 0.00
Big Group 1,476 789,574.00 8,259 436,376 33.01 2.65
Disabled 322,712,914 3.72 0 0 0.00 96.86
Key Values 68,218 17,344.00 91 8,505 23.52 0.00
Logging 2,991 402,081.00 2,653 191,964 20.97 0.00
Simple 353,227 3,324.00 26 1,481 21.96 0.00
Simple Source 160,810 7,451.00 59 3,940 35.84 0.00
With Attrs Attributes 45,680 26,203.00 130 13,899 24.65 0.00
With Attrs Key Values 45,476 26,281.00 130 13,901 24.58 0.00
With Attrs Simple 73,255 16,354.00 86 7,397 26.90 0.00
With Group Attributes 57,878 19,881.00 154 14,242 19.01 0.00
With Group Key Values 59,378 20,020.00 154 14,243 18.88 0.00

Benchmark Charts

samber/slog-logrus Ns/Op samber/slog-logrus Allocs/Op
samber/slog-logrus Bytes/Op samber/slog-logrus GB/Sec

Warnings

Score: 56.92
Required
EmptyAttributes Empty attribute(s) logged ("":null)
Verify: Attribute With Empty

Verify: Attributes Empty

Verify: Attributes With Empty

GroupInline Group with empty key does not inline subfields
Verify: Group Inline

Resolver LogValuer objects are not resolved
Verify: Resolve Group

Verify: Resolve Group With

Verify: Resolve Valuer

Verify: Resolve With

SlogTest Failure of embedded slog/slogtest
Verify: Slog Test

unexpected key ""
a Handler should ignore an empty Attr

unexpected key "time"
a Handler should ignore a zero Record.Time

missing key "c"
a Handler should inline the Attrs of a group with an empty key

"k"
got map[string]interface {}{}, want "replaced": a Handler should call Resolve on attribute values

"b"
got map[string]interface {}{}, want "v2": a Handler should call Resolve on attribute values in groups

"k"
got map[string]interface {}{}, want "replaced": a Handler should call Resolve on attribute values from WithAttrs

"b"
got map[string]interface {}{}, want "v2": a Handler should call Resolve on attribute values in groups from WithAttrs

ZeroPC SourceKey logged for zero PC
Verify: Zero PC

ZeroTime Zero time is logged
Verify: Zero Time

2024-05-19T01:15:07Z

Implied
NoReplAttrBasic HandlerOptions.ReplaceAttr not available for basic fields
Verify: Replace Attr Basic

too many attributes: 4

time field still exists

msg field still exists

source == map[file:/home/runner/work/go-slog/go-slog/verify/tests/replace.go function:github.com/madkins23/go-slog/verify/tests.(*SlogTestSuite).TestReplaceAttrBasic line:89]

Verify: Replace Attr Fn Level Case

level value not null

Verify: Replace Attr Fn Multi

Verify: Replace Attr Fn Remove Empty Key

Verify: Replace Attr Fn Remove Time

time value not empty string

Suggested
LevelCase Log level in lowercase
Verify: Canceled Context

'info'

Verify: Canceled Context

'info'

Verify: Canceled Context

'info'

Verify: Key Case

'debug'

Verify: Key Case

'info'

Verify: Key Case

'error'

Verify: Keys

'info'

Verify: Source Key

'info'

Verify: Zero PC

'info'

Verify: Zero Time

'info'

LevelWrong Log level is incorrect
Verify: Key Case

should be 'WARN', not 'warning'