From 1728b88e06eaca670970dac45f87fe7b7c458d14 Mon Sep 17 00:00:00 2001
From: Vasiliy Tolstov <v.tolstov@unistack.org>
Date: Thu, 6 Feb 2025 16:21:29 +0300
Subject: [PATCH] logger/slog: fixup stacktrace

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
---
 logger/slog/slog.go      | 2 +-
 logger/slog/slog_test.go | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/logger/slog/slog.go b/logger/slog/slog.go
index 0b278c57..949b868d 100644
--- a/logger/slog/slog.go
+++ b/logger/slog/slog.go
@@ -278,7 +278,7 @@ func (s *slogLogger) printLog(ctx context.Context, lvl logger.Level, msg string,
 		}
 	}
 
-	if (s.opts.AddStacktrace || lvl == logger.FatalLevel) || (s.opts.AddStacktrace && lvl == logger.ErrorLevel) {
+	if s.opts.AddStacktrace && (lvl == logger.FatalLevel || lvl == logger.ErrorLevel) {
 		stackInfo := make([]byte, 1024*1024)
 		if stackSize := runtime.Stack(stackInfo, false); stackSize > 0 {
 			traceLines := reTrace.Split(string(stackInfo[:stackSize]), -1)
diff --git a/logger/slog/slog_test.go b/logger/slog/slog_test.go
index e8e6d353..1dae9109 100644
--- a/logger/slog/slog_test.go
+++ b/logger/slog/slog_test.go
@@ -21,7 +21,7 @@ import (
 func TestStacktrace(t *testing.T) {
 	ctx := context.TODO()
 	buf := bytes.NewBuffer(nil)
-	l := NewLogger(logger.WithLevel(logger.ErrorLevel), logger.WithOutput(buf),
+	l := NewLogger(logger.WithLevel(logger.DebugLevel), logger.WithOutput(buf),
 		WithHandlerFunc(slog.NewTextHandler),
 		logger.WithAddStacktrace(true),
 	)