Remko Popma created LOG4J2-1271:
-----------------------------------
Summary: ParameterizedMessage optimization
Key: LOG4J2-1271
URL: https://issues.apache.org/jira/browse/LOG4J2-1271
Project: Log4j 2
Issue Type: Improvement
Components: API
Affects Versions: 2.5
Reporter: Remko Popma
Assignee: Remko Popma
ParameterizedMessage creates unnecessary objects and does other unnecessary
work in its constructor.
On the other hand, it does not create the full formatted string it will
eventually need to return from {{getFormattedMessage()}}.
I propose the following changes:
* Don't call {{argumentsToStrings}} in the constructor. Converting the
parameter Object[] array to a String[] array should only be done when
necessary: when this ParameterizedMessage is serialized.
* Don't copy the parameter Object[] array to a new array. Instead clone the
array when the {{getParameters()}} method is called.
* In the constructor, build the fully formatted message. This combines the work
done by {{formatStringArgs(String, String[])}} and
{{argumentsToStrings(Object[])}} and avoids the issue mentioned in LOG4J2-763.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]