elastic / elastic/ecs-logging-java
Add the possibility to process or transform the message
- Lenguaje dominante
- Java
- Estrellas
- 148
- Forks
- 82
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 3
Descripción
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...
Guía de contribución
Línea de trabajo
Comienza en el método encode de ECSEncoder y rastrea su uso de event.getFormattedMessage() y EcsJsonSerializer.serializeFormattedMessage. Define el hook de procesamiento a nivel del encoder usando el comportamiento predeterminado propuesto y determina cómo deben sobrescribirlo las subclases. Se considera terminado cuando los mensajes pueden transformarse en el encoder sin cambiar otros componentes, mientras que los mensajes sin cambios conservan el comportamiento actual.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100