Skip to content

Add the possibility to process or transform the message #164

Open
@fapena-galileo

Description

@fapena-galileo

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...

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-javacommunityIssues and PRs created by the communitytriageIssues and PRs that need to be triaged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions