Test_Logger_Filter() — fiber Function Reference
Architecture documentation for the Test_Logger_Filter() function in logger_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD bd3aa8f4_d221_b101_c140_72607b63f13a["Test_Logger_Filter()"] 97b45bc9_01a3_2a9a_4c94_9de1344ca94c["logger_test.go"] bd3aa8f4_d221_b101_c140_72607b63f13a -->|defined in| 97b45bc9_01a3_2a9a_4c94_9de1344ca94c style bd3aa8f4_d221_b101_c140_72607b63f13a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/logger/logger_test.go lines 182–319
func Test_Logger_Filter(t *testing.T) {
t.Parallel()
t.Run("Test Not Found", func(t *testing.T) {
t.Parallel()
app := fiber.New()
logOutput := bytes.Buffer{}
// Return true to skip logging for all requests != 404
app.Use(New(Config{
Skip: func(c fiber.Ctx) bool {
return c.Response().StatusCode() != fiber.StatusNotFound
},
Stream: &logOutput,
}))
resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/nonexistent", http.NoBody))
require.NoError(t, err)
require.Equal(t, fiber.StatusNotFound, resp.StatusCode)
// Expect logs for the 404 request
require.Contains(t, logOutput.String(), "404")
})
t.Run("Test OK", func(t *testing.T) {
t.Parallel()
app := fiber.New()
logOutput := bytes.Buffer{}
// Return true to skip logging for all requests == 200
app.Use(New(Config{
Skip: func(c fiber.Ctx) bool {
return c.Response().StatusCode() == fiber.StatusOK
},
Stream: &logOutput,
}))
app.Get("/", func(c fiber.Ctx) error {
return c.SendStatus(fiber.StatusOK)
})
resp, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/", http.NoBody))
require.NoError(t, err)
require.Equal(t, fiber.StatusOK, resp.StatusCode)
// We skip logging for status == 200, so "200" should not appear
require.NotContains(t, logOutput.String(), "200")
})
t.Run("Always Skip", func(t *testing.T) {
t.Parallel()
app := fiber.New()
logOutput := bytes.Buffer{}
// Filter always returns true => skip all logs
app.Use(New(Config{
Skip: func(_ fiber.Ctx) bool {
return true // always skip
},
Stream: &logOutput,
}))
app.Get("/something", func(c fiber.Ctx) error {
return c.Status(fiber.StatusTeapot).SendString("I'm a teapot")
})
_, err := app.Test(httptest.NewRequest(fiber.MethodGet, "/something", http.NoBody))
require.NoError(t, err)
// Expect NO logs
require.Empty(t, logOutput.String())
})
t.Run("Never Skip", func(t *testing.T) {
t.Parallel()
app := fiber.New()
logOutput := bytes.Buffer{}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Logger_Filter() do?
Test_Logger_Filter() is a function in the fiber codebase, defined in middleware/logger/logger_test.go.
Where is Test_Logger_Filter() defined?
Test_Logger_Filter() is defined in middleware/logger/logger_test.go at line 182.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free