elastic / elastic/ecs-logging-java

Add support for custom MdcSerializer in EcsLayout

Đang mở
#291 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
agent-java community triage
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.