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

Carter Kozak commented on LOG4J2-2351:
--------------------------------------

> Have you considered adding a protected getMutableInstant() method instead of 
> making the field itself protected?

I like it. Using this method we can avoid creating the MutableInstant entirely 
unless AbstractLogEvent.getMutableInstant is invoked or 
AbstractLogEvent.getInstant is invoked and not overridden.

> AbstractLogEvent.instant should be protected, not private
> ---------------------------------------------------------
>
>                 Key: LOG4J2-2351
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2351
>             Project: Log4j 2
>          Issue Type: Improvement
>    Affects Versions: 2.11.0, 3.0.0
>            Reporter: Carter Kozak
>            Assignee: Carter Kozak
>            Priority: Trivial
>
> Extending AbstractLogEvent there is currently no way to mutate the instant 
> without casting the return value of "getInstant()".
> By making instant protected, classes extending AbstractLogEvent can avoid 
> creating a second Instant implementation in addition to the default.
> Alternatively, we can use a static constant immutable instant, and return 
> that form getInstant by default. This would break any consumers that cast 
> getInstant to a MutableInstant.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to