Skip to content
Snippets Groups Projects
Unverified Commit 203b084e authored by Maksim Nabokikh's avatar Maksim Nabokikh Committed by GitHub
Browse files

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: default avatarm.nabokikh <maksim.nabokikh@flant.com>
parent 9769f9b4
Branches
No related tags found
No related merge requests found
...@@ -520,11 +520,11 @@ func newLogger(level slog.Level, format string) (*slog.Logger, error) { ...@@ -520,11 +520,11 @@ func newLogger(level slog.Level, format string) (*slog.Logger, error) {
var handler slog.Handler var handler slog.Handler
switch strings.ToLower(format) { switch strings.ToLower(format) {
case "", "text": case "", "text":
slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{ handler = slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{
Level: level, Level: level,
}) })
case "json": case "json":
slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{ handler = slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{
Level: level, Level: level,
}) })
default: default:
......
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)
})
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment