You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Remko Popma (JIRA)" <ji...@apache.org> on 2016/11/20 14:59:58 UTC

[jira] [Created] (LOG4J2-1719) StringBuilderFormattable Messages should used cached formatted message if it exists

Remko Popma created LOG4J2-1719:
-----------------------------------

             Summary: StringBuilderFormattable Messages should used cached formatted message if it exists
                 Key: LOG4J2-1719
                 URL: https://issues.apache.org/jira/browse/LOG4J2-1719
             Project: Log4j 2
          Issue Type: Bug
          Components: API
    Affects Versions: 2.7
            Reporter: Remko Popma
            Assignee: Remko Popma
             Fix For: 2.8


When logging asynchronously, {{Message::getFormattedMessage}} is called to give Message implementations a chance to take a snapshot of mutable objects before the message is passed to another thread. (See LOG4J2-763, LOG4J2-1718. Exceptions are Messages implementing ReusableMessage or AsynchronouslyFormattable.)

Some Messages implement StringBuilderFormattable to avoid creating temporary objects in the Layout.

The StringBuilderFormattable::formatTo(StringBuilder) method should be implemented such that it first checks if a cached formatted message string exists. If so, this string should be appended to the StringBuilder. If no cached message string exists logging is done synchronously and the formatted message can safely be created afresh.

This bug exists in:
* ObjectMessage
* SimpleMessage
* ThreadDumpMessage




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

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