Ralph Goers created LOG4J2-181:
----------------------------------

             Summary: SocketAppender reconnection doesn't work
                 Key: LOG4J2-181
                 URL: https://issues.apache.org/jira/browse/LOG4J2-181
             Project: Log4j 2
          Issue Type: Bug
          Components: Appenders
    Affects Versions: 2.0-beta4
            Reporter: Ralph Goers


This issue was actually reported by Werner Goeschl on the developers mailing 
list.

We configured a SocketAppender with a reconnectionDelay and defaultLayout 
(SerializedLayout) in a XML-Config File.
After starting the application, the SocketAppender tries to open the socket 
periodical.
As the next step, we start the application with the SocketServer, and so the 
Appender connects to it.
But after we get the following Exception, when we will open the 
ObjectInputStream (final ObjectInputStream ois = new 
ObjectInputStream(socket.getInputStream());
 
Exception in thread "Thread-2" java.lang.RuntimeException: 
java.io.StreamCorruptedException: invalid stream header: 7372003E
        at test.logger.LoggerTest_1$TCPSocketServer.run(LoggerTest_1.java:83)
Caused by: java.io.StreamCorruptedException: invalid stream header: 7372003E
        at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
        at java.io.ObjectInputStream.<init>(Unknown Source)
        at test.logger.LoggerTest_1$TCPSocketServer.run(LoggerTest_1.java:72)
 
The reason is:
At the Startup is no socket server available, therefore a dummy 
ByteArrayOutputStream is created.
See TCPSocketManager:230
After that, the Header of the layout (Object stream header) is written to the 
Dummy ByteArrayOutputStream.
See AbstractOutputStreamAppender:62
 
If the Reconnector-Thread succeeds, the Dummy ByteArrayOutputStream is changed 
to the OutputStream from the socket.
See TCPSocketManager:175
But after this action the object stream header is not written again!
 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to