[ 
https://issues.apache.org/jira/browse/LOG4J2-1161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14960415#comment-14960415
 ] 

Mikael Ståldal commented on LOG4J2-1161:
----------------------------------------

The "with" method need to be in each subclass in order to return the correct 
type. If only in MapMessage, then this will not work:

{code}
    StructuredDataMessage msg = new StructuredDataMessage(confirm, null, 
"transfer")
            .withValue("toAccount", toAccount)
            .withValue("fromAccount", fromAccount)
            .withValue("amount", amount);
{code}


> Builder like pattern to add values to MapMessage
> ------------------------------------------------
>
>                 Key: LOG4J2-1161
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1161
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: API
>    Affects Versions: 2.4.1
>            Reporter: Mikael Ståldal
>            Priority: Minor
>
> It would be nice to have a builder like pattern to add values to 
> {{MapMessage}} and its subclass {{StructuredDataMessage}}, so you can do 
> {code}
>         EventLogger.logEvent(
>             new StructuredDataMessage(confirm, null, "transfer")
>                 .withValue("toAccount", toAccount)
>                 .withValue("fromAccount", fromAccount)
>                 .withValue("amount", amount)
>         );
> {code}
> instead of
> {code}
>         StructuredDataMessage msg = new StructuredDataMessage(confirm, null, 
> "transfer");
>         msg.put("toAccount", toAccount);
>         msg.put("fromAccount", fromAccount);
>         msg.put("amount", amount);
>         EventLogger.logEvent(msg);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to