[jira] [Commented] (LOG4J2-1182) RandomAccessFile IOException: Stream Closed is back

2019-06-25 Thread Kostiantyn Shchepanovskyi (JIRA)


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

Kostiantyn Shchepanovskyi commented on LOG4J2-1182:
---

[~ggregory] 
We do not use 2.11.2 due to https://issues.apache.org/jira/browse/LOG4J2-2602. 
Do you suspect it might be resolved in 2.11.2?

> RandomAccessFile IOException: Stream Closed is back
> ---
>
> Key: LOG4J2-1182
> URL: https://issues.apache.org/jira/browse/LOG4J2-1182
> Project: Log4j 2
>  Issue Type: Bug
>  Components: Appenders
>Affects Versions: 2.4.1
> Environment: Java 1.8.0_60-b27, OSX 10.11, Jackson 2.6.1, Maven 3.3.3
>Reporter: Ravi Gairola
>Priority: Minor
>  Labels: Rollover
>
> This error pops up every now and then and looks very similar to LOG4J2-636:
> {code:java}
> 2015-10-27-23:00:00 2015-10-27 16:00:00,038 scribe-EventScribe ERROR Unable 
> to write to stream logs/server.log for appender AppLog
> 2015-10-27-23:00:00 2015-10-27 16:00:00,038 scribe-EventScribe ERROR An 
> exception occurred processing Appender AppLog 
> org.apache.logging.log4j.core.appender.AppenderLoggingException: Error 
> writing to RandomAccessFile logs/server.log
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush(RollingRandomAccessFileManager.java:132)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.write(RollingRandomAccessFileManager.java:112)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.appender.OutputStreamManager.write(OutputStreamManager.java:136)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:105)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:98)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:152)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:125)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:116)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:390)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:378)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:362)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.LoggerConfig.logParent(LoggerConfig.java:384)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:379)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:362)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:352)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.Logger.logMessage(Logger.java:143)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1011)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:988)
> 2015-10-27-23:00:00   at 
> org.apache.logging.slf4j.Log4jLogger.error(Log4jLogger.java:318)
> 2015-10-27-23:00:00   at 
> com.nextbit.syncserver.common.EventScribe$Scribe.run(EventScribe.java:142)
> 2015-10-27-23:00:00 Caused by: java.io.IOException: Stream Closed
> 2015-10-27-23:00:00   at java.io.RandomAccessFile.writeBytes(Native Method)
> 2015-10-27-23:00:00   at 
> java.io.RandomAccessFile.write(RandomAccessFile.java:525)
> 2015-10-27-23:00:00   at 
> org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.flush(RollingRandomAccessFileManager.java:129)
> 2015-10-27-23:00:00   ... 21 more
> {code}
> Here's the respective yaml configuration:
> {code}
> configuration:
>   monitorInterval: 60
>   status: WARN
>   name: Production Configuration
>   packages: com.our.packages
>   appenders:
> appender:
>   -
> type: Console
> name: CONSOLE
> PatternLayout: { pattern: '%d{-MMM-dd-HH:mm:ss.SSS} 
> [%p|%c{1}|%t|%X{rid}] %h: %m %n' }
>   -
> type: RollingRandomAccessFile
> name: AppLog
> fileName: 

[jira] [Comment Edited] (LOG4J2-1182) RandomAccessFile IOException: Stream Closed is back

2019-06-25 Thread Kostiantyn Shchepanovskyi (JIRA)


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

Kostiantyn Shchepanovskyi edited comment on LOG4J2-1182 at 6/25/19 8:13 AM:


 Managed to reproduce this issue with log4j 2.11.1, in our case it happens on 
*"Too many open files"* error when creating new file.

 

Steps to reproduce:

 # Configure RollingRandomAccessFile:
{code:java}

   
%level{length=1} %date{MMdd-HHmm:ss,SSS} 
%logger{1.} %message %X %markerSimpleName [%thread]%n







{code}
 # Start application, make it log and roll files every couple of minutes.
 # Dramatically decrease number of file descriptors process can have, by 
running:
{code:java}
sudo prlimit -p  --nofile=20
{code}
 # Wait until rollover happens multiple times.
Observation: new text files are created, but not gzipped.
 # Restore process limits:
{code:java}
sudo prlimit -p  --nofile=4096
{code}
 # Wait for rollover to happen.

After these steps, logs are not written to server.log anymore, instead, for 
each log event we receive exception to stdout:
{code:java}
Jun 22 11:55:45 dev-game-1 live-game-service: 2019-06-22 11:55:45,483 
AsyncAppender-asyncFile ERROR Recovering from StringBuilderEncoder.encode('I 
0622-1155:45,482 c.p.l.p.c.ConnectorImpl Channel /10.147.48.94:54622 write: 
Message{"service":"pt.live.internal.LobbySettingsService","action":"getLobbyTableSettingsResponse","type":"RESPONSE(2)","correlationId":306629,"dataFormat":"PR
OTOBUF(1)","data":""} 
{dispatchId=/10.147.48.94:54622, requested_action=getLobbyTableSettingsRequest, 
requested_service=pt.live.internal.LobbySettingsService}
NIO [inio-2]
Jun 22 11:55:45 dev-game-1 live-game-service: ') error: 
org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing 
to RandomAccessFile /opt/local/live-game-service/log/server.log 
org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing 
to RandomAccessFile /opt/local/live-game-service/log/server.log
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.writeToDestination(RollingRandomAccessFileManager.java:142)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:293)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.OutputStreamManager.drain(OutputStreamManager.java:350)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.ByteBufferDestinationHelper.writeToUnsynchronized(ByteBufferDestinationHelper.java:45)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.OutputStreamManager.writeBytes(OutputStreamManager.java:360)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.TextEncoderHelper.writeEncodedText(TextEncoderHelper.java:96)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.TextEncoderHelper.encodeText(TextEncoderHelper.java:65)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.StringBuilderEncoder.encode(StringBuilderEncoder.java:68)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.StringBuilderEncoder.encode(StringBuilderEncoder.java:32)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:220)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:58)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:177)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:170)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:161)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:250)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
Jun 22 11:55:45 dev-game-1 

[jira] [Comment Edited] (LOG4J2-1182) RandomAccessFile IOException: Stream Closed is back

2019-06-25 Thread Kostiantyn Shchepanovskyi (JIRA)


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

Kostiantyn Shchepanovskyi edited comment on LOG4J2-1182 at 6/25/19 8:11 AM:


 Managed to reproduce this issue with log4j 2.11.1, in our case it happens on 
*"Too many open files"* error when creating new file.

 

Steps to reproduce:
 # Configure RollingRandomAccessFile:

{code:java}

   
%level{length=1} %date{MMdd-HHmm:ss,SSS} %logger{1.} %message 
%X %markerSimpleName [%thread]%n






{code}
 # Start application, make it log and roll files every couple of minutes.
 # Dramatically decrease number of file descriptors process can have, by 
running:

{code:java}
sudo prlimit -p  --nofile=20{code}
 # Wait until rollover happens multiple times.
 Observation: new text files are created, but not gzipped.
 # Restore process limits:

{code:java}
sudo prlimit -p  --nofile=4096{code}
 # Wait for rollover to happen.

After these steps, logs are not written to server.log anymore, instead, for 
each log event we receive exception to stdout:
{code:java}
Jun 22 11:55:45 dev-game-1 live-game-service: 2019-06-22 11:55:45,483 
AsyncAppender-asyncFile ERROR Recovering from StringBuilderEncoder.encode('I 
0622-1155:45,482 c.p.l.p.c.ConnectorImpl Channel /10.147.48.94:54622 write: 
Message{"service":"pt.live.internal.LobbySettingsService","action":"getLobbyTableSettingsResponse","type":"RESPONSE(2)","correlationId":306629,"dataFormat":"PR
OTOBUF(1)","data":""} 
{dispatchId=/10.147.48.94:54622, requested_action=getLobbyTableSettingsRequest, 
requested_service=pt.live.internal.LobbySettingsService}
NIO [inio-2]
Jun 22 11:55:45 dev-game-1 live-game-service: ') error: 
org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing 
to RandomAccessFile /opt/local/live-game-service/log/server.log 
org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing 
to RandomAccessFile /opt/local/live-game-service/log/server.log
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.writeToDestination(RollingRandomAccessFileManager.java:142)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:293)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.OutputStreamManager.drain(OutputStreamManager.java:350)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.ByteBufferDestinationHelper.writeToUnsynchronized(ByteBufferDestinationHelper.java:45)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.OutputStreamManager.writeBytes(OutputStreamManager.java:360)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.TextEncoderHelper.writeEncodedText(TextEncoderHelper.java:96)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.TextEncoderHelper.encodeText(TextEncoderHelper.java:65)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.StringBuilderEncoder.encode(StringBuilderEncoder.java:68)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.StringBuilderEncoder.encode(StringBuilderEncoder.java:32)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:220)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:58)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:177)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:170)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:161)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:250)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
Jun 22 11:55:45 dev-game-1 live-game-service: at 

[jira] [Commented] (LOG4J2-1182) RandomAccessFile IOException: Stream Closed is back

2019-06-25 Thread Kostiantyn Shchepanovskyi (JIRA)


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

Kostiantyn Shchepanovskyi commented on LOG4J2-1182:
---

 

Managed to reproduce this issue with log4j 2.11.1, in our case it happens on 
*"Too many open files"* error when creating new file:
 # Configure RollingRandomAccessFile:

{code:java}

   
%level{length=1} %date{MMdd-HHmm:ss,SSS} %logger{1.} %message 
%X %markerSimpleName [%thread]%n






{code}

 # Start application, make it log and roll files every couple of minutes.
 # Dramatically decrease number of file descriptors process can have, by 
running:

{code:java}
sudo prlimit -p  --nofile=20{code}

 # Wait until rollover happens multiple times.
Observation: new text files are created, but not gzipped.
 # Restore process limits:

{code:java}
sudo prlimit -p  --nofile=4096{code}

 # Wait for rollover to happen.

After these steps, logs are not written to server.log anymore, instead, for 
each log event we receive exception to stdout:
{code:java}
Jun 22 11:55:45 dev-game-1 live-game-service: 2019-06-22 11:55:45,483 
AsyncAppender-asyncFile ERROR Recovering from StringBuilderEncoder.encode('I 
0622-1155:45,482 c.p.l.p.c.ConnectorImpl Channel /10.147.48.94:54622 write: 
Message{"service":"pt.live.internal.LobbySettingsService","action":"getLobbyTableSettingsResponse","type":"RESPONSE(2)","correlationId":306629,"dataFormat":"PR
OTOBUF(1)","data":""} 
{dispatchId=/10.147.48.94:54622, requested_action=getLobbyTableSettingsRequest, 
requested_service=pt.live.internal.LobbySettingsService}
NIO [inio-2]
Jun 22 11:55:45 dev-game-1 live-game-service: ') error: 
org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing 
to RandomAccessFile /opt/local/live-game-service/log/server.log 
org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing 
to RandomAccessFile /opt/local/live-game-service/log/server.log
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.writeToDestination(RollingRandomAccessFileManager.java:142)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:293)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.OutputStreamManager.drain(OutputStreamManager.java:350)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.ByteBufferDestinationHelper.writeToUnsynchronized(ByteBufferDestinationHelper.java:45)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.OutputStreamManager.writeBytes(OutputStreamManager.java:360)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.TextEncoderHelper.writeEncodedText(TextEncoderHelper.java:96)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.TextEncoderHelper.encodeText(TextEncoderHelper.java:65)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.StringBuilderEncoder.encode(StringBuilderEncoder.java:68)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.StringBuilderEncoder.encode(StringBuilderEncoder.java:32)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:220)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:58)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:177)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:170)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:161)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:250)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
Jun 22 11:55:45 dev-game-1 live-game-service: at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
Jun 

[jira] [Commented] (LOG4J2-2032) Curly braces in parameters are treated as placeholders

2018-02-06 Thread Kostiantyn Shchepanovskyi (JIRA)

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

Kostiantyn Shchepanovskyi commented on LOG4J2-2032:
---

[~ralph.go...@dslextreme.com] 

Can you please take a look at https://github.com/apache/logging-log4j2/pull/147?

> Curly braces in parameters are treated as placeholders
> --
>
> Key: LOG4J2-2032
> URL: https://issues.apache.org/jira/browse/LOG4J2-2032
> Project: Log4j 2
>  Issue Type: Bug
>  Components: Appenders, Layouts
>Affects Versions: 2.8.2, 2.9.0, 2.10.0
> Environment: Tested on Windows and Linux.
> java version "1.8.0_144"
> Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
> Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
>Reporter: Kostiantyn Shchepanovskyi
>Priority: Major
>
> When logging event parameter contains two consecutive opening and closing 
> curly braces - {{for example {} in the middle of parameter}}, they are 
> treated as a placeholder and are substituted by provided parameters starting 
> from index zero.
> I suspect that it affects only async loggers.
> My configuration:
> {code:xml}
> 
> 
> 
> 
> 
> %level{length=1} %date{MMdd-HHmm:ss,SSS} %logger{1.} 
> %message %X [%thread]%n
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> Test:
> {code:java}
> package com.playtech.live.platform.core.service;
> import org.junit.jupiter.api.Test;
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> public class Log4jCurlyBracesInParameterTest {
> private static final Logger LOGGER = 
> LoggerFactory.getLogger(Log4jCurlyBracesInParameterTest.class);
> @Test
> void messageWithCurlyBracesInParameter() {
> LOGGER.info("Text containing curly braces: {}", "Curly{}");
> LOGGER.info("Normal text: {}, text containing curly braces {}", 
> "Normal", "Curly{}");
> }
> }
> {code}
> Expected output:
> {code}
> I 0905-1731:01,018 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Text 
> containing curly braces: Curly{} {} [main]
> I 0905-1731:01,033 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Normal text: 
> Normal, text containing curly braces Curly{} {} [main]
> {code}
> Actual output:
> {code}
> I 0905-1731:01,018 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Text 
> containing curly braces: CurlyCurly{} {} [main]
> I 0905-1731:01,033 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Normal text: 
> Normal, text containing curly braces CurlyNormal {} [main]
> {code}



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


[jira] [Updated] (LOG4J2-2032) Curly braces in parameters are treated as placeholders

2018-02-05 Thread Kostiantyn Shchepanovskyi (JIRA)

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

Kostiantyn Shchepanovskyi updated LOG4J2-2032:
--
Affects Version/s: 2.10.0

> Curly braces in parameters are treated as placeholders
> --
>
> Key: LOG4J2-2032
> URL: https://issues.apache.org/jira/browse/LOG4J2-2032
> Project: Log4j 2
>  Issue Type: Bug
>  Components: Appenders, Layouts
>Affects Versions: 2.8.2, 2.9.0, 2.10.0
> Environment: Tested on Windows and Linux.
> java version "1.8.0_144"
> Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
> Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
>Reporter: Kostiantyn Shchepanovskyi
>Priority: Major
>
> When logging event parameter contains two consecutive opening and closing 
> curly braces - {{for example {} in the middle of parameter}}, they are 
> treated as a placeholder and are substituted by provided parameters starting 
> from index zero.
> I suspect that it affects only async loggers.
> My configuration:
> {code:xml}
> 
> 
> 
> 
> 
> %level{length=1} %date{MMdd-HHmm:ss,SSS} %logger{1.} 
> %message %X [%thread]%n
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> Test:
> {code:java}
> package com.playtech.live.platform.core.service;
> import org.junit.jupiter.api.Test;
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> public class Log4jCurlyBracesInParameterTest {
> private static final Logger LOGGER = 
> LoggerFactory.getLogger(Log4jCurlyBracesInParameterTest.class);
> @Test
> void messageWithCurlyBracesInParameter() {
> LOGGER.info("Text containing curly braces: {}", "Curly{}");
> LOGGER.info("Normal text: {}, text containing curly braces {}", 
> "Normal", "Curly{}");
> }
> }
> {code}
> Expected output:
> {code}
> I 0905-1731:01,018 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Text 
> containing curly braces: Curly{} {} [main]
> I 0905-1731:01,033 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Normal text: 
> Normal, text containing curly braces Curly{} {} [main]
> {code}
> Actual output:
> {code}
> I 0905-1731:01,018 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Text 
> containing curly braces: CurlyCurly{} {} [main]
> I 0905-1731:01,033 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Normal text: 
> Normal, text containing curly braces CurlyNormal {} [main]
> {code}



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


[jira] [Commented] (LOG4J2-2032) Curly braces in parameters are treated as placeholders

2018-02-05 Thread Kostiantyn Shchepanovskyi (JIRA)

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

Kostiantyn Shchepanovskyi commented on LOG4J2-2032:
---

Looks like this issue has been introduced by 
https://issues.apache.org/jira/browse/LOG4J2-1342.

{code:java}
@Override
public Message memento() {
if (message != null) {
return message;
}
final Object[] params = parameters == null ? new Object[0] : 
Arrays.copyOf(parameters, parameterCount);
return new ParameterizedMessage(messageText.toString(), params);
}
{code}

Returning {{ParameterizedMessage(messageText.toString(), params)}} is wrong, as 
{{messageText.toString()}} is already processed. 
If we return new message with parameters and this text as format, resulting 
string is invalid.

[~rem...@yahoo.com] - I would appreciate any hints how to fix this issue in 
optimal way.


> Curly braces in parameters are treated as placeholders
> --
>
> Key: LOG4J2-2032
> URL: https://issues.apache.org/jira/browse/LOG4J2-2032
> Project: Log4j 2
>  Issue Type: Bug
>  Components: Appenders, Layouts
>Affects Versions: 2.8.2, 2.9.0
> Environment: Tested on Windows and Linux.
> java version "1.8.0_144"
> Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
> Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
>Reporter: Kostiantyn Shchepanovskyi
>Priority: Major
>
> When logging event parameter contains two consecutive opening and closing 
> curly braces - {{for example {} in the middle of parameter}}, they are 
> treated as a placeholder and are substituted by provided parameters starting 
> from index zero.
> I suspect that it affects only async loggers.
> My configuration:
> {code:xml}
> 
> 
> 
> 
> 
> %level{length=1} %date{MMdd-HHmm:ss,SSS} %logger{1.} 
> %message %X [%thread]%n
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> Test:
> {code:java}
> package com.playtech.live.platform.core.service;
> import org.junit.jupiter.api.Test;
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> public class Log4jCurlyBracesInParameterTest {
> private static final Logger LOGGER = 
> LoggerFactory.getLogger(Log4jCurlyBracesInParameterTest.class);
> @Test
> void messageWithCurlyBracesInParameter() {
> LOGGER.info("Text containing curly braces: {}", "Curly{}");
> LOGGER.info("Normal text: {}, text containing curly braces {}", 
> "Normal", "Curly{}");
> }
> }
> {code}
> Expected output:
> {code}
> I 0905-1731:01,018 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Text 
> containing curly braces: Curly{} {} [main]
> I 0905-1731:01,033 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Normal text: 
> Normal, text containing curly braces Curly{} {} [main]
> {code}
> Actual output:
> {code}
> I 0905-1731:01,018 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Text 
> containing curly braces: CurlyCurly{} {} [main]
> I 0905-1731:01,033 c.p.l.p.c.s.Log4jCurlyBracesInParameterTest Normal text: 
> Normal, text containing curly braces CurlyNormal {} [main]
> {code}



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