elastic / elastic/ecs-logging-java
Add support for custom MdcSerializer in EcsLayout
- Ngôn ngữ chính
- Java
- Star
- 148
- Fork
- 82
- Merge trung bình
- 2 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 3
Mô tả
### 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`
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với EcsLayout và theo dõi cách MdcSerializer.Resolver hiện đang chọn serializer. So sánh luồng đó với tùy chỉnh hiện có cho ObjectMessageJacksonSerializer, sau đó xác định cách một MdcSerializer do người dùng cung cấp sẽ được cấu hình hoặc ghi đè. Hoàn tất có nghĩa là EcsLayout sử dụng serializer tùy chỉnh cho đầu ra MDC đồng thời vẫn giữ nguyên hành vi mặc định hiện tại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- backend, observability-sre
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100