fiber/docs/middleware
Edvard e947e03ed2
🔥 feat(logger): Add predefined log formats (#3359)
* feat(logger): Add predefined log formats

This commit introduces predefined log formats for the logger middleware, enhancing its flexibility and ease of use. Users can now specify formats like "common", "combined", and "json" in addition to the default format.

Changes:

- Added a `format.go` file to store predefined log format constants.
- Updated `config.go` to include documentation for the `Format` configuration option, explaining the available placeholders and predefined formats.
- Modified `logger.go` to utilize the predefined formats based on the `Format` configuration.
- Added a new test case `Test_Logger_CLF` in `logger_test.go` to verify the "common" log format.

* feat(logger): Use predefined formats and fix default format

This commit updates the logger middleware to utilize the predefined log formats introduced in a previous commit. It also fixes the default format to use the `FormatDefault` constant.

Changes:

-   Updated `config.go` to use `FormatDefault` constant for the default format.
-   Updated `default_logger.go` to use `FormatDefault` constant for the default format.
-   Added new test cases in `logger_test.go` to verify the "common", "combined" and "json" log formats.
-   Updated `format.go` to add newline character to the end of the default format.

* feat(logger): Document and exemplify predefined formats

* fix(logger): Improve test assertions based on golangci-lint

* docs(logger): Improve documentation and formatting logger.md based on markdownlint-cli2

* docs(logger): Improve documentation based on markdownlint-cli2

* fix(logger): Improve combined and JSON format tests

* feat(logger): Add ECS log format

* feat(logger): Add CustomFormat option

This commit introduces a `CustomFormat` option to the `Config` struct, allowing users to specify a predefined format (like "common", "combined", "json", or "ecs")

* feat(logger): Add ECS log format to examples and config

* docs(logger): Update examples in whats_new.md

* feat(logger): Remove CustomFormat option and renamed Format consts

-   Removed `CustomFormat` field from `Config`.
-   Removed `LoggerConfig` map.
-   Rename predefined formats constants.

* docs(logger): Update documentation and examples after format refactor

---------

Co-authored-by: Juan Calderon-Perez <835733+gaby@users.noreply.github.com>
2025-03-21 16:13:21 +01:00
..
_category_.json [v3 Maintenance]: Consolidate and Document Core Changes in v3 (#2934) 2024-04-23 08:18:19 +02:00
adaptor.md add more adpater documenation 2025-02-20 13:52:23 +01:00
basicauth.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
cache.md 🐛 fix: Align cache middleware with RFC7231 (#3283) 2025-01-20 08:22:51 +01:00
compress.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
cors.md 🔥Feature: Add support for TrustProxy (#3170) 2024-10-17 08:29:03 +02:00
csrf.md feat!(middleware/session): re-write session middleware with handler (#3016) 2024-10-25 08:36:30 +02:00
earlydata.md 🔥Feature: Add support for TrustProxy (#3170) 2024-10-17 08:29:03 +02:00
encryptcookie.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
envvar.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
etag.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
expvar.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
favicon.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
healthcheck.md feat: Add Startup Probe to Healthcheck Middleware (#3069) 2024-07-18 13:54:44 +02:00
helmet.md docs: Update helmet.md default values (#3350) 2025-03-14 07:51:34 +01:00
idempotency.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 16:16:12 +02:00
keyauth.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
limiter.md feat: Add Max Func to Limiter Middleware (#3070) 2024-07-23 23:00:37 +02:00
logger.md 🔥 feat(logger): Add predefined log formats (#3359) 2025-03-21 16:13:21 +01:00
pprof.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
proxy.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 16:16:12 +02:00
recover.md 📚 Doc: Update recover docs to not use reserved keyword (#3129) 2024-09-11 20:42:53 +02:00
redirect.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
requestid.md 🔥 feat: Add Context Support to RequestID Middleware (#3200) 2024-11-15 17:34:20 +01:00
rewrite.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
session.md 📚 Doc: Optimize the menu item text (#3267) 2024-12-31 15:58:07 +01:00
skip.md v3: Add support for consistent documentation using markdownlint (#3064) 2024-07-11 15:21:56 +02:00
static.md 📚 Doc: Fix static middleware CacheDuration data type typo (#3273) 2025-01-03 10:36:58 +03:00
timeout.md 🐛 fix: Improve naming convention for Context returning functions (#3193) 2024-11-13 16:12:19 +01:00