elastic / elastic/ecs-logging-java

Add the possibility to process or transform the message

Ouverte
#164 1 commentaire 2 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

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

Recevez les nouvelles issues par e-mail

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