mirror of
https://github.com/netbirdio/dex.git
synced 2026-05-22 18:43:53 -07:00
Fix slog nil pointer error (#3563)
The problem caused by the mistake in the newLogger function. The nil value is returned even with the valid log format. Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
This commit is contained in:
+2
-2
@@ -520,11 +520,11 @@ func newLogger(level slog.Level, format string) (*slog.Logger, error) {
|
||||
var handler slog.Handler
|
||||
switch strings.ToLower(format) {
|
||||
case "", "text":
|
||||
slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{
|
||||
handler = slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{
|
||||
Level: level,
|
||||
})
|
||||
case "json":
|
||||
slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{
|
||||
handler = slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{
|
||||
Level: level,
|
||||
})
|
||||
default:
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestNewLogger(t *testing.T) {
|
||||
t.Run("JSON", func(t *testing.T) {
|
||||
logger, err := newLogger(slog.LevelInfo, "json")
|
||||
require.NoError(t, err)
|
||||
require.NotEqual(t, (*slog.Logger)(nil), logger)
|
||||
})
|
||||
|
||||
t.Run("Text", func(t *testing.T) {
|
||||
logger, err := newLogger(slog.LevelError, "text")
|
||||
require.NoError(t, err)
|
||||
require.NotEqual(t, (*slog.Logger)(nil), logger)
|
||||
})
|
||||
|
||||
t.Run("Unknown", func(t *testing.T) {
|
||||
logger, err := newLogger(slog.LevelError, "gofmt")
|
||||
require.Error(t, err)
|
||||
require.Equal(t, "log format is not one of the supported values (json, text): gofmt", err.Error())
|
||||
require.Equal(t, (*slog.Logger)(nil), logger)
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user