gagoman opened a new pull request #362: URL: https://github.com/apache/logging-log4j2/pull/362
### Description `Log4jJsonObjectMapper` [has `JsonInclude.Include.NON_EMPTY` enabled](https://github.com/apache/logging-log4j2/blob/log4j-2.13.3/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/Log4jJsonObjectMapper.java) but it is not working at the moment - keys with empty values are still present in output. It is caused by [bug in `jackson-databind`](https://github.com/FasterXML/jackson-databind/pull/2615) which I have fixed. Fix was released as part of `jackson-databind:2.11.x`. ### Why LOG4J2-2749? I feel this fix will address user request. ### Issue itself #### `log4j2.xml` ``` <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <JsonLayout compact="true" properties="true"> <KeyValuePair key="empty" value="${ctx:empty:-}"/> </JsonLayout> </Console> </Appenders> <Loggers> <Root level="DEBUG"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration> ``` #### `Main.java` ``` import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class Main { private static final Logger logger = LogManager.getLogger(); public static void main(String[] args) { logger.info("info"); } } ``` #### Output ``` {"instant":{"epochSecond":1590743485,"nanoOfSecond":93000000},"thread":"main","level":"INFO","loggerName":"org.apache.logging.log4j.core.Main","message":"info","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.spi.AbstractLogger","contextMap":{},"threadId":1,"threadPriority":5,"empty":""} ``` ### Notes * I have chosen `release-2.x` while I have actually developed a patch on `2.13.3` tag. I can rebase to any other brach, just let me know which one ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
