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/07/31 06:07:20 UTC

[jira] [Updated] (LOG4J2-1341) (GC) Avoid allocating temporary objects in Pattern Converters for PatternLayout

     [ https://issues.apache.org/jira/browse/LOG4J2-1341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma updated LOG4J2-1341:
--------------------------------
    Description: 
*To do*
The following pattern converters can be modified to avoid creating temporary objects in their {{format}} method:
* AbstractStyleNameConverter
* EncodingPatternConverter
* EqualsIgnoreCaseReplacementConverter
* EqualsReplacementConverter
* FullLocationPatternConverter
* IntegerPatternConverter
* MarkerPatternConverter
* MaxLengthConverter
* RelativeTimePatternConverter
* SequenceNumberPatternConverter

*Investigate*
The following pattern converters may be difficult to modify since they rely on JDK components that create temporary objects:
* ExtendedThrowablePatternConverter
* MapPatternConverter
* MdcPatternConverter
* NdcPatternConverter
* RegexReplacementConverter
* RootThrowablePatternConverter
* ThrowablePatternConverter
* UuidPatternConverter
* VariablesNotEmptyReplacementConverter

*Done*
The following pattern converters already do not allocate temporary objects in their format method:
* (/) HighlightConverter (Thanks to Richard Zschech)
* (/) StyleConverter (Thanks to Richard Zschech)
* ClassNamePatternConverter
* DatePatternConverter
* FileLocationPatternConverter
* LevelPatternConverter
* LineLocationPatternConverter
* LineSeparatorPatternConverter
* LiteralPatternConverter (unless literal contains '${')
* LoggerPatternConverter
* MarkerSimpleNamePatternConverter
* MessagePatternConverter
* MethodLocationPatternConverter
* NamePatternConverter
* NanoTimePatternConverter
* ThreadIdPatternConverter
* ThreadNamePatternConverter
* ThreadPriorityPatternConverter


  was:
*To do*
The following pattern converters can be modified to avoid creating temporary objects in their {{format}} method:
* AbstractStyleNameConverter
* EncodingPatternConverter
* EqualsIgnoreCaseReplacementConverter
* EqualsReplacementConverter
* FullLocationPatternConverter
* HighlightConverter
* IntegerPatternConverter
* MarkerPatternConverter
* MaxLengthConverter
* RelativeTimePatternConverter
* SequenceNumberPatternConverter
* StyleConverter

*Investigate*
The following pattern converters may be difficult to modify since they rely on JDK components that create temporary objects:
* ExtendedThrowablePatternConverter
* MapPatternConverter
* MdcPatternConverter
* NdcPatternConverter
* RegexReplacementConverter
* RootThrowablePatternConverter
* ThrowablePatternConverter
* UuidPatternConverter
* VariablesNotEmptyReplacementConverter

*Done*
The following pattern converters already do not allocate temporary objects in their format method:
* ClassNamePatternConverter
* DatePatternConverter
* FileLocationPatternConverter
* LevelPatternConverter
* LineLocationPatternConverter
* LineSeparatorPatternConverter
* LiteralPatternConverter (unless literal contains '${')
* LoggerPatternConverter
* MarkerSimpleNamePatternConverter
* MessagePatternConverter
* MethodLocationPatternConverter
* NamePatternConverter
* NanoTimePatternConverter
* ThreadIdPatternConverter
* ThreadNamePatternConverter
* ThreadPriorityPatternConverter



> (GC) Avoid allocating temporary objects in Pattern Converters for PatternLayout
> -------------------------------------------------------------------------------
>
>                 Key: LOG4J2-1341
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1341
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Pattern Converters
>    Affects Versions: 2.5
>            Reporter: Remko Popma
>             Fix For: 2.7
>
>
> *To do*
> The following pattern converters can be modified to avoid creating temporary objects in their {{format}} method:
> * AbstractStyleNameConverter
> * EncodingPatternConverter
> * EqualsIgnoreCaseReplacementConverter
> * EqualsReplacementConverter
> * FullLocationPatternConverter
> * IntegerPatternConverter
> * MarkerPatternConverter
> * MaxLengthConverter
> * RelativeTimePatternConverter
> * SequenceNumberPatternConverter
> *Investigate*
> The following pattern converters may be difficult to modify since they rely on JDK components that create temporary objects:
> * ExtendedThrowablePatternConverter
> * MapPatternConverter
> * MdcPatternConverter
> * NdcPatternConverter
> * RegexReplacementConverter
> * RootThrowablePatternConverter
> * ThrowablePatternConverter
> * UuidPatternConverter
> * VariablesNotEmptyReplacementConverter
> *Done*
> The following pattern converters already do not allocate temporary objects in their format method:
> * (/) HighlightConverter (Thanks to Richard Zschech)
> * (/) StyleConverter (Thanks to Richard Zschech)
> * ClassNamePatternConverter
> * DatePatternConverter
> * FileLocationPatternConverter
> * LevelPatternConverter
> * LineLocationPatternConverter
> * LineSeparatorPatternConverter
> * LiteralPatternConverter (unless literal contains '${')
> * LoggerPatternConverter
> * MarkerSimpleNamePatternConverter
> * MessagePatternConverter
> * MethodLocationPatternConverter
> * NamePatternConverter
> * NanoTimePatternConverter
> * ThreadIdPatternConverter
> * ThreadNamePatternConverter
> * ThreadPriorityPatternConverter



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