Gareth Daniel Smith created LOG4J2-3170:
-------------------------------------------

             Summary: EncodingPatternConverter CRLF encoding is slow with large 
log messages (it has quadratic time complexity)
                 Key: LOG4J2-3170
                 URL: https://issues.apache.org/jira/browse/LOG4J2-3170
             Project: Log4j 2
          Issue Type: Bug
          Components: Pattern Converters
    Affects Versions: 2.14.1
            Reporter: Gareth Daniel Smith


This code that escapes newlines is very slow on large log messages where those 
message contain lots of newline characters. For example "abc" repeated a 
million times takes less than a second to log, but "a\r\n" repeated a million 
times takes over 5 minutes (in my test).

I think it is accurate to say that this code has quadratic time complexity: 
[https://github.com/apache/logging-log4j2/blame/master/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java#L151]

If necessary I can supply more examples and/or a fix.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to