Mika Riekkinen created LOG4J2-932:
-------------------------------------
Summary: LogEvent stacktrace not visible on TcpSocketServer
Key: LOG4J2-932
URL: https://issues.apache.org/jira/browse/LOG4J2-932
Project: Log4j 2
Issue Type: Bug
Components: Appenders
Affects Versions: 2.1
Reporter: Mika Riekkinen
Priority: Minor
When using Socket appender to transfer LogEvents to another host, LogEvent is
missing Throwable causing stacktrace not to be shown on SocketServer.
This bug has been reported earlier with id LOG4J2-886
(https://issues.apache.org/jira/browse/LOG4J2-886), which explains it.
The cause of the problem is that stored Throwable in Log4jLogEvent,
Log4jLogEvent.LogEventProxy and ThrowableProxy is transient.
As it is now, using of TcpSocketServer is very limited.
I made a quick test, where those transient fields mentioned above are declared
as not being transient, and this works ok.
But this is not a proper way to fix this.
A better one could be to change these from Serializable to Externalizable,
where classloading of the Throwable is controlled.
Also, it could be possible to come up with fix, where a class that actually
writes the stacktrace, could use ExtendedStackTraceElement[] if the Throwable
is null.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]