[
https://issues.apache.org/jira/browse/LOG4J2-1502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sumit Singhal updated LOG4J2-1502:
----------------------------------
Description:
I am using CsvParameterLayout to generate a CSV file out of log4j2. One of the
column is a JSON string. Following is the logger method I am using:
{code:java}
logger.info("log:{}",json);
{code}
Following is the JSON string:
{"id":10,"name":"sumit"}
And following is the string which is getting printed in CSV output file:
NUL{"id":10,"name":"sumit"}NUL
The NUL character is the \x00 character. When I open the file in notepad++,
then only this character appears. In notepad it shows as space. This poses a
problem in CSV processing module.
If there is some alphabet before {, then the output in CSV is fine. It seems as
if log4j is escaping '{' with a NUL character. It is happening if the string
starts with {, (, [, ' or ".
Following are the dependencies:
{code:xml}
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.4</version>
</dependency>
{code}
was:
I am using CsvParameterLayout to generate a CSV file out of log4j2. One of the
column is a JSON string. Following is the logger method I am using:
{code:java}
logger.info("log:{}",json);
{code}
Following is the JSON string:
{"id":10,"name":"sumit"}
And following is the string which is getting printed in CSV output file:
NUL{"id":10,"name":"sumit"}NUL
The NUL character is the \x00 character. When I open the file in notepad++,
then only this character appears. In notepad it shows as space. This poses a
problem in CSV processing module.
If there is some alphabet before {, then the output in CSV is fine. It seems as
if log4j is escaping '{' with a NUL character. It is happening if the string
starts with {, (, [, ' or ".
> CsvParameterLayout is inserting NUL character if data starts with {, (, [ or "
> ------------------------------------------------------------------------------
>
> Key: LOG4J2-1502
> URL: https://issues.apache.org/jira/browse/LOG4J2-1502
> Project: Log4j 2
> Issue Type: Bug
> Components: Layouts
> Affects Versions: 2.6.2
> Reporter: Sumit Singhal
>
> I am using CsvParameterLayout to generate a CSV file out of log4j2. One of
> the column is a JSON string. Following is the logger method I am using:
> {code:java}
> logger.info("log:{}",json);
> {code}
> Following is the JSON string:
> {"id":10,"name":"sumit"}
> And following is the string which is getting printed in CSV output file:
> NUL{"id":10,"name":"sumit"}NUL
> The NUL character is the \x00 character. When I open the file in notepad++,
> then only this character appears. In notepad it shows as space. This poses a
> problem in CSV processing module.
> If there is some alphabet before {, then the output in CSV is fine. It seems
> as if log4j is escaping '{' with a NUL character. It is happening if the
> string starts with {, (, [, ' or ".
> Following are the dependencies:
> {code:xml}
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-core</artifactId>
> <version>2.6.2</version>
> </dependency>
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-slf4j-impl</artifactId>
> <version>2.6.2</version>
> </dependency>
> <dependency>
> <groupId>org.apache.commons</groupId>
> <artifactId>commons-csv</artifactId>
> <version>1.4</version>
> </dependency>
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]