Для настройки вывода stacktrace с использованием zerolog в качестве middleware для Fiber вам нужно установить опцию Logger.With().Stack().
Вот пример кода, который иллюстрирует это:
```go
package main
import (
"github.com/gofiber/fiber/v2"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
fiberzerolog "github.com/rs/zerolog/log/zerolog"
)
func main() {
app := fiber.New()
zerolog.TimeFieldFormat = ""
log.Logger = log.Output(fiberzerolog.New(log.With().Stack().Logger()))
app.Use(func(c *fiber.Ctx) error {
// Ваш обработчик middleware
// Регистрация ошибки
log.Error().Err(err).Msg("Произошла ошибка")
return nil
})
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, world!")
})
app.Listen(":3000")
}
```
В результате ваши логи будут содержать только информацию о пути к файлу и номере строки, где произошла ошибка, вместо полной информации о вызове ("caller").
Обратите внимание, что эта настройка должна быть произведена до создания роутера или использования других функций или мидлваров в вашем приложении Fiber.