elastic / elastic/ecs-logging-java

Add support for custom MdcSerializer in EcsLayout

Ouverte
#291 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
agent-java community triage
Langage dominant
Java
Étoiles
148
Forks
82
Merge moyen
2 j 17 h
PR mergées (30 j)
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`

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par EcsLayout et suivez la manière dont MdcSerializer.Resolver sélectionne actuellement le sérialiseur. Comparez ce chemin avec la personnalisation existante pour ObjectMessageJacksonSerializer, puis définissez comment un MdcSerializer fourni par l’utilisateur serait configuré ou remplacé. Le travail est terminé lorsque EcsLayout utilise le sérialiseur personnalisé pour la sortie MDC tout en conservant le comportement par défaut actuel.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
backend, observability-sre
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.