Skip to content

Commit

Permalink
fix: Pass through log level to go-eth2-api
Browse files Browse the repository at this point in the history
  • Loading branch information
samcm committed Dec 2, 2024
1 parent 3ecd905 commit 0eb863a
Show file tree
Hide file tree
Showing 2 changed files with 104 additions and 0 deletions.
43 changes: 43 additions & 0 deletions pkg/beacon/log.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package beacon

import (
"github.com/rs/zerolog"
"github.com/sirupsen/logrus"
)

func (n *node) GetZeroLogLevel() zerolog.Level {
if n.log == nil {
return zerolog.NoLevel
}

var logLevel logrus.Level

// Handle both Logger and Entry types
switch v := n.log.(type) {
case *logrus.Logger:
logLevel = v.GetLevel()
case *logrus.Entry:
logLevel = v.Logger.GetLevel()
default:
return zerolog.NoLevel
}

zerologLevel := zerolog.NoLevel

switch logLevel {
case logrus.DebugLevel:
zerologLevel = zerolog.DebugLevel
case logrus.InfoLevel:
zerologLevel = zerolog.InfoLevel
case logrus.WarnLevel:
zerologLevel = zerolog.WarnLevel
case logrus.ErrorLevel:
zerologLevel = zerolog.ErrorLevel
case logrus.FatalLevel:
zerologLevel = zerolog.FatalLevel
case logrus.PanicLevel:
zerologLevel = zerolog.PanicLevel
}

return zerologLevel
}
61 changes: 61 additions & 0 deletions pkg/beacon/log_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package beacon_test

import (
"testing"

"github.com/ethpandaops/beacon/pkg/beacon"
"github.com/rs/zerolog"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
)

func TestGetZeroLogLevel(t *testing.T) {
tests := []struct {
name string
logLevel logrus.Level
want zerolog.Level
}{
{
name: "debug level",
logLevel: logrus.DebugLevel,
want: zerolog.DebugLevel,
},
{
name: "info level",
logLevel: logrus.InfoLevel,
want: zerolog.InfoLevel,
},
{
name: "warn level",
logLevel: logrus.WarnLevel,
want: zerolog.WarnLevel,
},
{
name: "error level",
logLevel: logrus.ErrorLevel,
want: zerolog.ErrorLevel,
},
{
name: "fatal level",
logLevel: logrus.FatalLevel,
want: zerolog.FatalLevel,
},
{
name: "panic level",
logLevel: logrus.PanicLevel,
want: zerolog.PanicLevel,
},
}

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
logger := logrus.New()
logger.SetLevel(tt.logLevel)

node := beacon.NewNode(logger, &beacon.Config{}, "", beacon.Options{})
got := node.GetZeroLogLevel()

assert.Equal(t, tt.want, got)
})
}
}

0 comments on commit 0eb863a

Please sign in to comment.