elastic / elastic/ecs-logging-java

Add the possibility to process or transform the message

Abierto
#164 1 comentario 2 reacciones 0 asignados Ver en GitHub
agent-java community triage
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.