public void append ( LoggingEvent event ) { if ( event == null ) { return ; } if ( address == null ) { errorHandler . error ( "No remote host is set for SocketAppender named \"" + this . name + "\"." ) ; return ; } if ( oos != null ) { try { if ( locationInfo ) { event . getLocationInformation ( ) ; } oos . writeObject ( event ) ; // LogLog.debug("=========Flushing."); oos . flush ( ) ; if ( ++ counter >= RESET_FREQUENCY ) { counter = 0 ; // Failing to reset the object output stream every now and // then creates a serious memory leak. // System.err.println("Doing oos.reset()"); oos . reset ( ) ; } } catch ( IOException e ) { oos = null ; LogLog . warn ( "Detected problem with connection: " + e ) ; if ( reconnectionDelay > 0 ) { fireConnector ( ) ; } } } }
Appends a logging event to the remote event reciever .