You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "yijack yau (JIRA)" <ji...@apache.org> on 2019/06/03 04:26:00 UTC

[jira] [Created] (LOG4J2-2622) maxLength for StructuredDataId and StructuredDataMessage always maximum 32

yijack yau created LOG4J2-2622:
----------------------------------

             Summary: maxLength for StructuredDataId and StructuredDataMessage always maximum 32
                 Key: LOG4J2-2622
                 URL: https://issues.apache.org/jira/browse/LOG4J2-2622
             Project: Log4j 2
          Issue Type: Bug
          Components: API
    Affects Versions: 2.11.2
            Reporter: yijack yau


Try to assign UUID into the StructuredDataMessage, but failed with :

{code}
Exception in thread "main" java.lang.IllegalArgumentException: Length of id dd570301-85b6-11e9-a708-983b8f59247d exceeds maximum of 37 characters
 at org.apache.logging.log4j.message.StructuredDataId.<init>(StructuredDataId.java:103)
{code}

Found the bug in the code 
https://github.com/apache/logging-log4j2/blob/master/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataId.java

{code}
    public StructuredDataId(final String name, final String[] required, final String[] optional,
                               final int maxLength) {
        int index = -1;
        if (name != null) {
            if (maxLength > 0 && name.length() > MAX_LENGTH) {
                throw new IllegalArgumentException(String.format("Length of id %s exceeds maximum of %d characters",
                        name, maxLength));
            }
            index = name.indexOf(AT_SIGN);
        }
{code}

at line 102 , should be 
name.length() > maxLength that bring in but the the MAX_LENGTH




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