elastic / elastic/ecs-logging-java
Add support for custom MdcSerializer in EcsLayout
- Dominant language
- Java
- Stars
- 148
- Forks
- 82
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 3
Description
### Summary
`EcsLayout` from `log4j2-ecs-layout` currently uses a hardcoded implementation of `MdcSerializer` for MDC serialization. While this works well for most cases, it lacks flexibility for users with custom MDC serialization requirements.
I propose adding support for configuring or overriding the `MdcSerializer` implementation to accommodate specific use cases, such as:
- Custom JSON structure for MDC fields.
- Enhanced MDC sanitization or transformation logic.
- Integrating additional logging contexts.
### Problem Statement
The current implementation of `MdcSerializer` is resolved dynamically using `MdcSerializer.Resolver`. However, it does not allow users to provide their own `MdcSerializer` implementation.
### Proposed Solution
Introduce a mechanism to customize the `MdcSerializer`, such as already implemented for `ObjectMessageJacksonSerializer`
Contributor guide
Assessment
This issue has not been assessed yet.