[ 
https://issues.apache.org/jira/browse/LOG4J2-2341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak closed LOG4J2-2341.
--------------------------------

Closing this issue out, we can deduplicate verification on LOG4J2-2312.

> JsonLayout not working with AsyncLoggerContextSelector in 2.11.0
> ----------------------------------------------------------------
>
>                 Key: LOG4J2-2341
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2341
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.11.0
>            Reporter: Fedor Morozov
>            Assignee: Carter Kozak
>            Priority: Major
>             Fix For: 3.0.0, 2.11.1
>
>
> In version 2.11.0 appenders with JsonLayout don't output json when 
> Log4jContextSelector is set to 
> org.apache.logging.log4j.core.async.AsyncLoggerContextSelector.
> Here is a sample:
> {code:java}
> package ru.yandex.zen;
> import org.apache.log4j.Logger;
> public class LoggerSample {
>     public static void main(String[] args) {
>         Logger logger = Logger.getLogger("LoggerSample");
>         logger.info("Message 1");
>         logger.info("Message 2");
>     }
> }
> {code}
> {code:java}
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration status="WARN">
>     <Appenders>
>         <RandomAccessFile name="RandomAccessFile" fileName="async.log" 
> immediateFlush="false" append="false">
>             <JsonLayout/>
>         </RandomAccessFile>
>     </Appenders>
>     <Loggers>
>         <Root level="info">
>             <AppenderRef ref="RandomAccessFile"/>
>         </Root>
>     </Loggers>
> </Configuration>
> {code}
> Without AsyncLoggerContextSelector the log looks like this:
> {code:java}
> ""
> ""
> {code}
> Without AsyncLoggerContextSelector:
> {code:java}
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 1",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 637000000
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 2",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 717000000
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {code}
> In our main application Json logger outputs the provided message in quotes, 
> not just an empty string. The problem doesn't appear when using asyncRoot or 
> asyncLogger.
> My dependencies:
> {code:java}
> compile 'org.apache.logging.log4j:log4j-api:2.11.0'
> compile 'org.apache.logging.log4j:log4j-core:2.11.0'
> compile "org.apache.logging.log4j:log4j-1.2-api:2.11.0"
> compile "com.fasterxml.jackson.core:jackson-core:2.9.4"
> compile "com.fasterxml.jackson.core:jackson-databind:2.9.4"
> {code}
>  



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

Reply via email to