logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kamal Bahadur (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-404) "@EnterpriseNumber" is missing in the ID of structured data when RFC5424Layout is used
Date Wed, 18 Sep 2013 22:44:52 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-404?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13771342#comment-13771342
] 

Kamal Bahadur commented on LOG4J2-404:
--------------------------------------

I updated the method private void appendStructuredElements(final StringBuilder buffer, final
LogEvent event) and it seem to fix the problem:

private void appendStructuredElements(final StringBuilder buffer, final LogEvent event) {
        final Message message = event.getMessage();
        final boolean isStructured = message instanceof StructuredDataMessage;

        if (!isStructured && (fieldFormatters!= null && fieldFormatters.size()
== 0) && !includeMDC) {
            buffer.append("-");
            return;
        }

        final Map<String, StructuredDataElement> sdElements = new HashMap<String,
StructuredDataElement>();
        final Map<String, String> contextMap = event.getContextMap();

        if (mdcRequired != null) {
            checkRequired(contextMap);
        }

        if (fieldFormatters != null) {
            for (final Map.Entry<String, FieldFormatter> sdElement: fieldFormatters.entrySet())
{
                final String sdId = sdElement.getKey();
                final StructuredDataElement elem = sdElement.getValue().format(event);
                sdElements.put(sdId, elem);
            }
        }

        if (includeMDC && contextMap.size() > 0) {
            if (sdElements.containsKey(mdcSDID.toString())) {
                final StructuredDataElement union = sdElements.get(mdcSDID.toString());
                union.union(contextMap);
                sdElements.put(mdcSDID.toString(), union);
            } else {
                final StructuredDataElement formattedContextMap = new StructuredDataElement(contextMap,
false);
                sdElements.put(mdcSDID.toString(), formattedContextMap);
            }
        }

        if (isStructured) {
            final StructuredDataMessage data = (StructuredDataMessage) message;
            final Map<String, String> map = data.getData();
            final StructuredDataId id = data.getId();
            final String sdId = getId(id);

            if (sdElements.containsKey(sdId)) {
                final StructuredDataElement union = sdElements.get(id.toString());
                union.union(map);
                sdElements.put(sdId, union);
            } else {
                final StructuredDataElement formattedData = new StructuredDataElement(map,
false);
                sdElements.put(sdId, formattedData);
            }
        }

        if (sdElements.size() == 0) {
            buffer.append("-");
            return;
        }

        for (final Map.Entry<String, StructuredDataElement> entry: sdElements.entrySet())
{
            formatStructuredElement(entry.getKey(), mdcPrefix, entry.getValue(), buffer, checker);
        }
    }
                
> "@EnterpriseNumber" is missing in the ID of structured data when RFC5424Layout is used
> --------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-404
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-404
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Layouts
>    Affects Versions: 2.0-beta9
>            Reporter: Kamal Bahadur
>            Priority: Critical
>
> Prior to beta9, when RFC5424 layout was used, the ID hasd the format "id@ein". With beta9,
"@ein" is missing. Example
> Prior to beta9:
> <128>1 2013-09-16T02:07:24.027-07:00 myhost.com MyTestApp - Audit [stopPayment@12293
accountNumber="REPLACE" amount="***" checkNumber="***" comment="Changed mind" endSequence="4322"
errorMessage="None" guId="669317b1-1eaf-11e3-80ec-005056b5071b" issueDate="20110504"][RequestContext@12293
 ReqCtx_sessionId="66927b70***" ReqCtx_timezone="America/Los_Angeles" ReqCtx_tzOffset="-0800"
ReqCtx_userProduct="IB" ReqCtx_userProductVersion="4.18.1"]
> With beta9:
> <128>1 2013-09-16T02:07:24.027-07:00 myhost.com MyTestApp - Audit [stopPayment
accountNumber="REPLACE" amount="***" checkNumber="***" comment="Changed mind" endSequence="4322"
errorMessage="None" guId="669317b1-1eaf-11e3-80ec-005056b5071b" issueDate="20110504"][RequestContext@12293
 ReqCtx_sessionId="66927b70***" ReqCtx_timezone="America/Los_Angeles" ReqCtx_tzOffset="-0800"
ReqCtx_userProduct="IB" ReqCtx_userProductVersion="4.18.1"]
> "@12293" is missing after the ID (stopPayment).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


Mime
View raw message