elastic / elastic/ecs-logging-java

Add the possibility to process or transform the message

Open
#164 1 comment 2 reactions 0 assignees View on GitHub
agent-java community triage
Dominant language
Java
Stars
148
Forks
82
Avg merge
2d 17h
Merged PRs (30d)
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...

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.