elastic / elastic/ecs-logging-java
Add the possibility to process or transform the message
- Langage dominant
- Java
- Étoiles
- 148
- Forks
- 82
- Merge moyen
- 2 j 17 h
- PR mergées (30 j)
- 3
Description
I need to be able to transform some messages. For example obfuscate some information. I want to be able to do that at the encoder level and not before on several components.
Now a days, the encode method add the message using
`event.getFormattedMessage()`
It could be very useful if we can add something similar to the following at the ECSEncoder class:
/**
* Subclasses can override this to format the message (for example to obfuscate some fields.)
* @param event The event to be logged
* @return The message processed. By default, this method return the message without any modification
*/
protected String processMessage (ILoggingEvent event){
return event.getFormattedMessage();
}
And at the encode method
`EcsJsonSerializer.serializeFormattedMessage(builder, processMessage(event));`
What do you think?
The method name could be process, transform, or just getMessage...
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par la méthode encode de ECSEncoder et suivez son utilisation de event.getFormattedMessage() et de EcsJsonSerializer.serializeFormattedMessage. Définissez le hook de traitement au niveau de l’encodeur en utilisant le comportement par défaut proposé et déterminez comment les sous-classes doivent le redéfinir. Le travail est considéré comme terminé lorsque les messages peuvent être transformés au niveau de l’encodeur sans modifier les autres composants, tandis que les messages inchangés conservent le comportement actuel.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- backend
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100