logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Winnebeck (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-504) Problems with message field when using MultiformatMessage in JSONLayout
Date Wed, 19 Feb 2014 13:52:21 GMT

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

Jason Winnebeck commented on LOG4J2-504:

I see this problem too, I wanted to use MapMessage here so I could get a parsable log, but
I get this: "message":"{"action":"getVersion", "duration":"0", "result":"success"}"

The problem is in JSONLayout line 188 and 194 the quote is appended whether or not "jsonSupported"
is true. Also, the other comment about MapMessage not escaping JSON characters is also valid,
although fortunately I can ensure that the values I output will not have these characters
in them.

The workaround is to write your own layout... Or in my case for this specific task I'll probably
just have to not use log4j for these messages and output a separate file because I need the
output to be parseable.

> Problems with message field when using MultiformatMessage in JSONLayout
> -----------------------------------------------------------------------
>                 Key: LOG4J2-504
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-504
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Layouts
>    Affects Versions: 2.0-beta9
>            Reporter: Michael Friedmann
>         Attachments: log4j2Test.tar.gz
> When using MultiformatMessage (e.g. MapMessage) in the JSONLayout, the "message" is properly
JSON formatted.  However, it is surrounded by quotes, rendering the overall JSON invalid.
 When the quotes are removed, everything works fine.
> Additionally, the individual properties of the MapMessage may already contain JSON formatted
values.  These are currently surrounded by quotes as well, again rendering the overall JSON
invalid.  Note that for properties whose values are plain strings, however, these need to
be JSON escaped.

This message was sent by Atlassian JIRA

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

View raw message