[ https://issues.apache.org/jira/browse/LOG4J2-2989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17259139#comment-17259139 ]
Gary D. Gregory commented on LOG4J2-2989: ----------------------------------------- It sounds like the use case here is like what we have for the JDBC appended and also implemented in the JMS and TCP appenders: the "Reconnector" class. This should work out of the box... but maybe not. > Has Log4j2 a risk of losing logs for streaming towards a remote server when > it cannot re-establish a connection towards the server? > ----------------------------------------------------------------------------------------------------------------------------------- > > Key: LOG4J2-2989 > URL: https://issues.apache.org/jira/browse/LOG4J2-2989 > Project: Log4j 2 > Issue Type: Question > Components: Appenders > Affects Versions: 2.13.3 > Reporter: Yi > Priority: Major > > Hi, > Currently we are trying log4j2 to stream logs towards the remote server with > SocketAppender. > I am checking the source code of TcpSocketManager and its inner class > Reconnector. > protected void TcpSocketManager:write(...) > In the above function, once the manager cannot write to the socket, it use > the reconnector to reconnect synchronizely. If it succeeds, it sends the > bytes again and everything is fine. > However, if it fails, the reconnector is going to start a seperate thread and > wait for a configurable time to reconnect. But the current method throws an > exception instead and the bytes/Log event is then lost due to broken > connection. > Is my understanding correct? If so, can it be improved? > Thanks in advance. -- This message was sent by Atlassian Jira (v8.3.4#803005)