[ https://issues.apache.org/jira/browse/LOG4J2-1054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anders Kreinøe updated LOG4J2-1054: ----------------------------------- Description: I have the following configuration: {code:xml} <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN" monitorInterval="30"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout> <Pattern>%d %p [%X{userName} - %X{userId} - %X{requestId} - %X{requestName} - %c{2.}] %m%n</Pattern> </PatternLayout> </Console> <Socket name="logstash" host="localhost" protocol="tcp" port="5000" ignoreExceptions="false" connectTimeoutMillis="5000" reconnectionDelayMillis="1000"> <PatternLayout> <Pattern>{"@timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ}","logger":"%c{1.}","level":"%p","message":"%enc{%m}","exception":"%enc{%ex}","logger_full_name":"%c","mdc_map":"%mdc","uuid":"%u{ramdom}","thread":"%t","application":"logstash-log4j-test","type":"java","sub_type":"log4j"}%n</Pattern> </PatternLayout> </Socket> </Appenders> <Loggers> <Root level="TRACE"> <AppenderRef ref="Console"/> <AppenderRef ref="logstash"/> </Root> </Loggers> </Configuration> {code} when i run the following code: {code:java} package dk.cirque.tmp.logstashLog4jTest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class JavaMain { public static void main(String[] args) { final Logger log = LoggerFactory.getLogger(JavaMain.class); log.info("Info log from log4j, 1 - med exception", new RuntimeException("Message of runtime exception for loggin.")); log.info("Info log from log4j, 2 with newline" + System.lineSeparator() + "this is on a new line."); } } {code} i get the following writting to the console: {noformat} ~/ nc -l 5000 {"@timestamp":"2015-06-15T12:50:04.370+0200","logger":"d.c.t.l.JavaMain","level":"INFO","message":"Info log from log4j, 1 - med exception","exception":"java.lang.RuntimeException: Message of runtime exception for loggin.\n at dk.cirque.tmp.logstashLog4jTest.JavaMain.main(JavaMain.java:13)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:606)\n at sbt.Run.invokeMain(Run.scala:67)\n at sbt.Run.run0(Run.scala:61)\n at sbt.Run.sbt$Run$$execute$1(Run.scala:51)\n at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:55)\n at sbt.Run$$anonfun$run$1.apply(Run.scala:55)\n at sbt.Run$$anonfun$run$1.apply(Run.scala:55)\n at sbt.Logger$$anon$4.apply(Logger.scala:85)\n at sbt.TrapExit$App.run(TrapExit.scala:248)\n at java.lang.Thread.run(Thread.java:745)\n","logger_full_name":"dk.cirque.tmp.logstashLog4jTest.JavaMain","mdc_map":"{}","uuid":"47907581-134c-11e5-b741-5c514f566c15","thread":"run-main-4a","application":"logstash-log4j-test","type":"java","sub_type":"log4j"} java.lang.RuntimeException: Message of runtime exception for loggin. at dk.cirque.tmp.logstashLog4jTest.JavaMain.main(JavaMain.java:13) [classes/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_55] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_55] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_55] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_55] at sbt.Run.invokeMain(Run.scala:67) [run-0.13.8.jar:0.13.8] at sbt.Run.run0(Run.scala:61) [run-0.13.8.jar:0.13.8] at sbt.Run.sbt$Run$$execute$1(Run.scala:51) [run-0.13.8.jar:0.13.8] at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:55) [run-0.13.8.jar:0.13.8] at sbt.Run$$anonfun$run$1.apply(Run.scala:55) [run-0.13.8.jar:0.13.8] at sbt.Run$$anonfun$run$1.apply(Run.scala:55) [run-0.13.8.jar:0.13.8] at sbt.Logger$$anon$4.apply(Logger.scala:85) [logging-0.13.8.jar:0.13.8] at sbt.TrapExit$App.run(TrapExit.scala:248) [run-0.13.8.jar:0.13.8] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_55] {"@timestamp":"2015-06-15T12:50:04.376+0200","logger":"d.c.t.l.JavaMain","level":"INFO","message":"Info log from log4j, 2 with newline\nthis is on a new line.","exception":"","logger_full_name":"dk.cirque.tmp.logstashLog4jTest.JavaMain","mdc_map":"{}","uuid":"47907582-134c-11e5-b741-5c514f566c15","thread":"run-main-4a","application":"logstash-log4j-test","type":"java","sub_type":"log4j"} {noformat} It has written the following (where only number 1 and 3 was expected): # The result of the pattern for the first exception # The output of printStacktrace() for the cause exception of the first log statesment. # The result of the pattern for the second exception. was: I have the following configuration: {code:xml} <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN" monitorInterval="30"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout> <Pattern>%d %p [%X{userName} - %X{userId} - %X{requestId} - %X{requestName} - %c{2.}] %m%n</Pattern> </PatternLayout> </Console> <Socket name="logstash" host="localhost" protocol="tcp" port="5000" ignoreExceptions="false" connectTimeoutMillis="5000" reconnectionDelayMillis="1000"> <PatternLayout> <Pattern>{"@timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ}","logger":"%c{1.}","level":"%p","message":"%enc{%m}","exception":"%enc{%ex}","logger_full_name":"%c","mdc_map":"%mdc","uuid":"%u{ramdom}","thread":"%t","application":"logstash-log4j-test","type":"java","sub_type":"log4j"}%n</Pattern> </PatternLayout> </Socket> </Appenders> <Loggers> <Root level="TRACE"> <AppenderRef ref="Console"/> <AppenderRef ref="logstash"/> </Root> </Loggers> </Configuration> {code} when i run the following code: {code:java} package dk.cirque.tmp.logstashLog4jTest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class JavaMain { public static void main(String[] args) { final Logger log = LoggerFactory.getLogger(JavaMain.class); log.info("Info log from log4j, 1 - med exception", new RuntimeException("Message of runtime exception for loggin.")); log.info("Info log from log4j, 2 with newline" + System.lineSeparator() + "this is on a new line."); } } {code} i get the following writting to the console: {noformat} ~/ nc -l 5000 {"@timestamp":"2015-06-15T12:50:04.370+0200","logger":"d.c.t.l.JavaMain","level":"INFO","message":"Info log from log4j, 1 - med exception","exception":"java.lang.RuntimeException: Message of runtime exception for loggin.\n at dk.cirque.tmp.logstashLog4jTest.JavaMain.main(JavaMain.java:13)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:606)\n at sbt.Run.invokeMain(Run.scala:67)\n at sbt.Run.run0(Run.scala:61)\n at sbt.Run.sbt$Run$$execute$1(Run.scala:51)\n at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:55)\n at sbt.Run$$anonfun$run$1.apply(Run.scala:55)\n at sbt.Run$$anonfun$run$1.apply(Run.scala:55)\n at sbt.Logger$$anon$4.apply(Logger.scala:85)\n at sbt.TrapExit$App.run(TrapExit.scala:248)\n at java.lang.Thread.run(Thread.java:745)\n","logger_full_name":"dk.cirque.tmp.logstashLog4jTest.JavaMain","mdc_map":"{}","uuid":"47907581-134c-11e5-b741-5c514f566c15","thread":"run-main-4a","application":"logstash-log4j-test","type":"java","sub_type":"log4j"} java.lang.RuntimeException: Message of runtime exception for loggin. at dk.cirque.tmp.logstashLog4jTest.JavaMain.main(JavaMain.java:13) [classes/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_55] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_55] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_55] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_55] at sbt.Run.invokeMain(Run.scala:67) [run-0.13.8.jar:0.13.8] at sbt.Run.run0(Run.scala:61) [run-0.13.8.jar:0.13.8] at sbt.Run.sbt$Run$$execute$1(Run.scala:51) [run-0.13.8.jar:0.13.8] at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:55) [run-0.13.8.jar:0.13.8] at sbt.Run$$anonfun$run$1.apply(Run.scala:55) [run-0.13.8.jar:0.13.8] at sbt.Run$$anonfun$run$1.apply(Run.scala:55) [run-0.13.8.jar:0.13.8] at sbt.Logger$$anon$4.apply(Logger.scala:85) [logging-0.13.8.jar:0.13.8] at sbt.TrapExit$App.run(TrapExit.scala:248) [run-0.13.8.jar:0.13.8] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_55] {"@timestamp":"2015-06-15T12:50:04.376+0200","logger":"d.c.t.l.JavaMain","level":"INFO","message":"Info log from log4j, 2 with newline\nthis is on a new line.","exception":"","logger_full_name":"dk.cirque.tmp.logstashLog4jTest.JavaMain","mdc_map":"{}","uuid":"47907582-134c-11e5-b741-5c514f566c15","thread":"run-main-4a","application":"logstash-log4j-test","type":"java","sub_type":"log4j"} {noformat} It har written the following (where only number 1 and 3 was expected): # The result of the pattern for the first exception # The output of printStacktrace() for the cause exception of the first log statesment. # The result of the pattern for the second exception. > PatternLayout in Socket appender writes the stacktrace of an exception to the > socket, after it has written the pattern. > ----------------------------------------------------------------------------------------------------------------------- > > Key: LOG4J2-1054 > URL: https://issues.apache.org/jira/browse/LOG4J2-1054 > Project: Log4j 2 > Issue Type: Bug > Components: Appenders > Affects Versions: 2.3 > Reporter: Anders Kreinøe > > I have the following configuration: > {code:xml} > <?xml version="1.0" encoding="UTF-8"?> > <Configuration status="WARN" monitorInterval="30"> > <Appenders> > <Console name="Console" target="SYSTEM_OUT"> > <PatternLayout> > <Pattern>%d %p [%X{userName} - %X{userId} - %X{requestId} - > %X{requestName} - %c{2.}] %m%n</Pattern> > </PatternLayout> > </Console> > <Socket name="logstash" host="localhost" protocol="tcp" port="5000" > ignoreExceptions="false" connectTimeoutMillis="5000" > reconnectionDelayMillis="1000"> > <PatternLayout> > > <Pattern>{"@timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ}","logger":"%c{1.}","level":"%p","message":"%enc{%m}","exception":"%enc{%ex}","logger_full_name":"%c","mdc_map":"%mdc","uuid":"%u{ramdom}","thread":"%t","application":"logstash-log4j-test","type":"java","sub_type":"log4j"}%n</Pattern> > </PatternLayout> > </Socket> > </Appenders> > <Loggers> > <Root level="TRACE"> > <AppenderRef ref="Console"/> > <AppenderRef ref="logstash"/> > </Root> > </Loggers> > </Configuration> > {code} > when i run the following code: > {code:java} > package dk.cirque.tmp.logstashLog4jTest; > import org.slf4j.Logger; > import org.slf4j.LoggerFactory; > public class JavaMain { > public static void main(String[] args) { > final Logger log = LoggerFactory.getLogger(JavaMain.class); > log.info("Info log from log4j, 1 - med exception", new > RuntimeException("Message of runtime exception for loggin.")); > log.info("Info log from log4j, 2 with newline" + > System.lineSeparator() + "this is on a new line."); > } > } > {code} > i get the following writting to the console: > {noformat} > ~/ nc -l 5000 > {"@timestamp":"2015-06-15T12:50:04.370+0200","logger":"d.c.t.l.JavaMain","level":"INFO","message":"Info > log from log4j, 1 - med exception","exception":"java.lang.RuntimeException: > Message of runtime exception for loggin.\n at > dk.cirque.tmp.logstashLog4jTest.JavaMain.main(JavaMain.java:13)\n at > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n > at java.lang.reflect.Method.invoke(Method.java:606)\n at > sbt.Run.invokeMain(Run.scala:67)\n at sbt.Run.run0(Run.scala:61)\n at > sbt.Run.sbt$Run$$execute$1(Run.scala:51)\n at > sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:55)\n at > sbt.Run$$anonfun$run$1.apply(Run.scala:55)\n at > sbt.Run$$anonfun$run$1.apply(Run.scala:55)\n at > sbt.Logger$$anon$4.apply(Logger.scala:85)\n at > sbt.TrapExit$App.run(TrapExit.scala:248)\n at > java.lang.Thread.run(Thread.java:745)\n","logger_full_name":"dk.cirque.tmp.logstashLog4jTest.JavaMain","mdc_map":"{}","uuid":"47907581-134c-11e5-b741-5c514f566c15","thread":"run-main-4a","application":"logstash-log4j-test","type":"java","sub_type":"log4j"} > java.lang.RuntimeException: Message of runtime exception for loggin. > at dk.cirque.tmp.logstashLog4jTest.JavaMain.main(JavaMain.java:13) > [classes/:?] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[?:1.7.0_55] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > ~[?:1.7.0_55] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:1.7.0_55] > at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_55] > at sbt.Run.invokeMain(Run.scala:67) [run-0.13.8.jar:0.13.8] > at sbt.Run.run0(Run.scala:61) [run-0.13.8.jar:0.13.8] > at sbt.Run.sbt$Run$$execute$1(Run.scala:51) [run-0.13.8.jar:0.13.8] > at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:55) > [run-0.13.8.jar:0.13.8] > at sbt.Run$$anonfun$run$1.apply(Run.scala:55) [run-0.13.8.jar:0.13.8] > at sbt.Run$$anonfun$run$1.apply(Run.scala:55) [run-0.13.8.jar:0.13.8] > at sbt.Logger$$anon$4.apply(Logger.scala:85) > [logging-0.13.8.jar:0.13.8] > at sbt.TrapExit$App.run(TrapExit.scala:248) [run-0.13.8.jar:0.13.8] > at java.lang.Thread.run(Thread.java:745) [?:1.7.0_55] > {"@timestamp":"2015-06-15T12:50:04.376+0200","logger":"d.c.t.l.JavaMain","level":"INFO","message":"Info > log from log4j, 2 with newline\nthis is on a new > line.","exception":"","logger_full_name":"dk.cirque.tmp.logstashLog4jTest.JavaMain","mdc_map":"{}","uuid":"47907582-134c-11e5-b741-5c514f566c15","thread":"run-main-4a","application":"logstash-log4j-test","type":"java","sub_type":"log4j"} > {noformat} > It has written the following (where only number 1 and 3 was expected): > # The result of the pattern for the first exception > # The output of printStacktrace() for the cause exception of the first log > statesment. > # The result of the pattern for the second exception. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org