| package org.apache.log4j.net; |
| import java.io.IOException; |
| import java.io.ObjectOutputStream; |
| import java.net.InetAddress; |
| import java.net.Socket; |
| import org.apache.log4j.AppenderSkeleton; |
| import org.apache.log4j.helpers.LogLog; |
| import org.apache.log4j.spi.ErrorCode; |
| import org.apache.log4j.spi.LoggingEvent; |
| public |
| class SocketAppender |
| extends AppenderSkeleton |
| { |
| static public final |
| int DEFAULT_PORT |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.DEFAULT_PORT : Interval 0 : 4560 : 4560 |
| =4560 |
| ; |
| static final |
| int DEFAULT_RECONNECTION_DELAY |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.DEFAULT_RECONNECTION_DELAY: Interval 0 : 30000 : 30000 |
| =30000 |
| ; |
| String remoteHost |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.remoteHost : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| InetAddress address |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.address : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| int port |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.port : Interval 0 : 4560 : 4560 |
| =DEFAULT_PORT |
| ; |
| ObjectOutputStream oos |
| //QC Intervals :(ObjectOutputStream) org.apache.log4j.net.SocketAppender.oos : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| int reconnectionDelay |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.reconnectionDelay : Interval 0 : 30000 : 30000 |
| =DEFAULT_RECONNECTION_DELAY |
| ; |
| boolean locationInfo |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.locationInfo : Interval 0 : false : false |
| =false |
| ; |
| private |
| String application |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.application : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| private |
| Connector connector |
| //QC Intervals :(Connector) org.apache.log4j.net.SocketAppender.connector : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ; |
| int counter |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.counter : Interval 0 : 0 : 0 |
| =0 |
| ; |
| private static final |
| int RESET_FREQUENCY |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.RESET_FREQUENCY : Interval 0 : 1 : 1 |
| =1 |
| ; |
| public |
| SocketAppender |
| ( |
| ) |
| { |
| } |
| public |
| SocketAppender |
| ( |
| InetAddress address |
| , |
| int port |
| ) |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.SocketAppender.address: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.SocketAppender.port: Interval 0 : -2147483647 : 2147483647 |
| { |
| this.address=address; |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| this.remoteHost=address.getHostName(); |
| //QC-CWE476 or QCerrorNPE null pointer reference on address (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.remoteHost |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| this.port=port; |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.port |
| : Interval 0 : -2147483647 : 2147483647 |
| //assignation |
| connect(address,port); |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.connect |
| 1 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.connect |
| 2 : Interval 0 : -2147483647 : 2147483647 |
| //type of the function/method : void |
| } |
| public |
| SocketAppender |
| ( |
| String host |
| , |
| int port |
| ) |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.SocketAppender.host: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.SocketAppender.port: Interval 0 : -2147483647 : 2147483647 |
| { |
| this.port=port; |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.port |
| : Interval 0 : -2147483647 : 2147483647 |
| //assignation |
| this.address=getAddressByName(host); |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.SocketAppender |
| 1 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| this.remoteHost=host; |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.remoteHost |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| connect(address,port); |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.connect |
| 1 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.connect |
| 2 : Interval 0 : -2147483647 : 2147483647 |
| //type of the function/method : void |
| } |
| public |
| void activateOptions |
| ( |
| ) |
| { |
| connect(address,port); |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.connect |
| 1 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.connect |
| 2 : Interval 0 : -2147483647 : 2147483647 |
| //type of the function/method : void |
| } |
| synchronized public |
| void close |
| ( |
| ) |
| { |
| if (closed) |
| //QC Intervals : (boolean) org.apache.log4j.AppenderSkeleton.closed |
| : Interval 0 : true : true |
| return ; |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.close.close.return : Interval 0 : true : true |
| //QC Intervals : (boolean) org.apache.log4j.AppenderSkeleton.closed |
| : Interval 0 : false : false |
| this.closed=true; |
| //QC Intervals : (boolean) org.apache.log4j.AppenderSkeleton.closed |
| : Interval 0 : true : true |
| //assignation |
| cleanUp(); |
| //type of the function/method : void |
| } |
| public |
| void cleanUp |
| ( |
| ) |
| { |
| if (oos!=null ) |
| //QC Intervals :(ObjectOutputStream) org.apache.log4j.net.SocketAppender.cleanUp |
| : Interval 0 : new : new |
| { |
| try |
| { |
| oos.close(); |
| //type of the function/method : void |
| } |
| catch ( |
| IOException e |
| ) |
| //QC Intervals :(IOException) org.apache.log4j.net.SocketAppender.cleanUp.e : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LogLog.error("Could not close oos . ",e); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.error |
| 1 : Interval 0 : Could not close oos . : Could not close oos . |
| //QC Intervals :(Throwable) org.apache.log4j.helpers.LogLog.error |
| 2 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //type of the function/method : void |
| } |
| oos=null ; |
| //QC Intervals :(ObjectOutputStream) org.apache.log4j.net.SocketAppender.cleanUp |
| : Interval 0 : null : null |
| //assignation |
| } |
| if (connector!=null ) |
| //QC Intervals :(Connector) org.apache.log4j.net.SocketAppender.cleanUp |
| : Interval 0 : new : new |
| { |
| connector.interrupted=true; |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.Connector.interrupted |
| : Interval 0 : true : true |
| //assignation |
| connector=null ; |
| //QC Intervals :(Connector) org.apache.log4j.net.SocketAppender.cleanUp |
| : Interval 0 : null : null |
| //assignation |
| } |
| } |
| void connect |
| ( |
| InetAddress address |
| , |
| int port |
| ) |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.connect.address : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.connect.port : Interval 0 : -2147483647 : 2147483647 |
| { |
| if (this.address==null ) |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender |
| : Interval 0 : null : null |
| return ; |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.connect.connect.return: Interval 0 : true : true |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender |
| : Interval 0 : new : new |
| try |
| { |
| cleanUp(); |
| //type of the function/method : void |
| oos=(new ObjectOutputStream(new Socket(address,port).getOutputStream())); |
| //QC Intervals :(ObjectOutputStream) org.apache.log4j.net.SocketAppender.connect |
| : Interval 0 : new : new |
| //assignation |
| } |
| catch ( |
| IOException e |
| ) |
| //QC Intervals :(IOException) org.apache.log4j.net.SocketAppender.connect.e : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| String msg="Could not connect to remote log4j server at [ "+address.getHostName()+" ] . "; |
| //QC-CWE476 or QCerrorNPE null pointer reference on address (see http://cwe.mitre.org/data/definitions/476.html) |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.connect.msg : Interval 0 : Could not connect to remote log4j server at . : Could not connect to remote log4j server at . |
| if (reconnectionDelay> 0) |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.reconnectionDelay |
| : Interval 0 : 1 : 2147483647 |
| { |
| msg+=" We will try again later . "; |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.connect.msg : Interval 0 : Could not connect to remote log4j server at . We will try again later . : Could not connect to remote log4j server at . We will try again later . |
| //assignation |
| fireConnector(); |
| //type of the function/method : void |
| } |
| else |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.reconnectionDelay |
| : Interval 0 : -2147483647 : -1 |
| //QC : Interval 1 : 0 : 0 |
| { |
| msg+=" We are not retrying . "; |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.connect.msg : Interval 0 : Could not connect to remote log4j server at . We are not retrying . : Could not connect to remote log4j server at . We are not retrying . |
| //assignation |
| errorHandler.error(msg,e,ErrorCode.GENERIC_FAILURE); |
| //type of the function/method : TypeInconnu |
| } |
| LogLog.error(msg); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.error |
| 1 : Interval 0 : Could not connect to remote log4j server at . : Could not connect to remote log4j server at . |
| //QC : Interval 1 : Could not connect to remote log4j server at . We will try again later . : Could not connect to remote log4j server at . We will try again later . |
| //QC : Interval 2 : Could not connect to remote log4j server at . We are not retrying . : Could not connect to remote log4j server at . We are not retrying . |
| //type of the function/method : void |
| } |
| } |
| public |
| void append |
| ( |
| LoggingEvent event |
| ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.net.SocketAppender.append.event : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| if (event==null ) |
| //QC Intervals :(LoggingEvent) org.apache.log4j.net.SocketAppender.append.event : Interval 0 : null : null |
| return ; |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.append.append.return: Interval 0 : true : true |
| //QC Intervals :(LoggingEvent) org.apache.log4j.net.SocketAppender.append.event : Interval 0 : new : new |
| if (address==null ) |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.append |
| : Interval 0 : null : null |
| { |
| errorHandler.error("No remote host is set for SocketAppender named \""+this.name+"\" . "); |
| //QC Intervals :(SAXParseException) org.xml.sax.ErrorHandler.error |
| 1 : Interval 0 : No remote host is set for SocketAppender named "null" . : No remote host is set for SocketAppender named "null" . |
| //type of the function/method : void |
| return ; |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.append.append.return: Interval 0 : true : true |
| } |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.append |
| : Interval 0 : new : new |
| if (oos!=null ) |
| //QC Intervals :(ObjectOutputStream) org.apache.log4j.net.SocketAppender.append |
| : Interval 0 : new : new |
| { |
| try |
| { |
| if (locationInfo) |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.locationInfo |
| : Interval 0 : true : true |
| { |
| event.getLocationInformation(); |
| //type of the function/method : LocationInfo |
| //QC-CWE252 or QCerrorRTF return type of function is not tested (see http://cwe.mitre.org/data/definitions/252.html) |
| } |
| if (application!=null ) |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.application |
| : Interval 0 : new : new |
| { |
| event.setProperty("application",application); |
| //QC Intervals : (String) org.apache.log4j.spi.LoggingEvent.setProperty |
| 1 : Interval 0 : application : application |
| //QC Intervals : (String) org.apache.log4j.spi.LoggingEvent.setProperty |
| 2 : Interval 0 : new : new |
| //type of the function/method : void |
| } |
| oos.writeObject(event); |
| //QC Intervals : (Object) java.io.ObjectOutputStream.writeObject |
| 1 : Interval 0 : new : new |
| //type of the function/method : void |
| oos.flush(); |
| //type of the function/method : void |
| if ((++counter)>=RESET_FREQUENCY) |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.counter |
| : Interval 0 : 3 : 3 |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.RESET_FREQUENCY |
| : Interval 0 : 1 : 1 |
| { |
| counter=0; |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.counter |
| : Interval 0 : 0 : 0 |
| //assignation |
| oos.reset(); |
| //type of the function/method : void |
| } |
| } |
| catch ( |
| IOException e |
| ) |
| //QC Intervals :(IOException) org.apache.log4j.net.SocketAppender.append.e : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| oos=null ; |
| //QC Intervals :(ObjectOutputStream) org.apache.log4j.net.SocketAppender.append |
| : Interval 0 : null : null |
| //assignation |
| LogLog.warn("Detected problem with connection : "+e); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.warn |
| 1 : Interval 0 : 0 : 0 |
| //type of the function/method : void |
| if (reconnectionDelay> 0) |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.reconnectionDelay |
| : Interval 0 : 1 : 2147483647 |
| { |
| fireConnector(); |
| //type of the function/method : void |
| } |
| else |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.reconnectionDelay |
| : Interval 0 : -2147483647 : -1 |
| //QC : Interval 1 : 0 : 0 |
| { |
| errorHandler.error("Detected problem with connection , not reconnecting . ",e,ErrorCode.GENERIC_FAILURE); |
| //type of the function/method : TypeInconnu |
| } |
| } |
| } |
| } |
| void fireConnector |
| ( |
| ) |
| { |
| if (connector==null ) |
| //QC Intervals :(Connector) org.apache.log4j.net.SocketAppender.fireConnector |
| : Interval 0 : null : null |
| { |
| LogLog.debug("Starting a new connector thread . "); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.debug |
| 1 : Interval 0 : Starting a new connector thread . : Starting a new connector thread . |
| //type of the function/method : void |
| connector=(new Connector()); |
| //QC Intervals :(Connector) org.apache.log4j.net.SocketAppender.fireConnector |
| : Interval 0 : new : new |
| //assignation |
| connector.setDaemon(true); |
| //type of the function/method : TypeInconnu |
| connector.setPriority(Thread.MIN_PRIORITY); |
| //type of the function/method : TypeInconnu |
| connector.start(); |
| //type of the function/method : Connector |
| //QC-CWE252 or QCerrorRTF return type of function is not tested (see http://cwe.mitre.org/data/definitions/252.html) |
| } |
| } |
| static |
| InetAddress getAddressByName |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.getAddressByName : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| String host |
| ) |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.getAddressByName.host: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| try |
| { |
| return InetAddress.getByName(host); |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.getAddressByName.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| catch ( |
| Exception e |
| ) |
| //QC Intervals :(Exception) org.apache.log4j.net.SocketAppender.getAddressByName.e : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LogLog.error("Could not find address of [ "+host+" ] . ",e); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.error |
| 1 : Interval 0 : Could not find address of . : Could not find address of . |
| //QC Intervals :(Throwable) org.apache.log4j.helpers.LogLog.error |
| 2 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //type of the function/method : void |
| return null ; |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.getAddressByName.return: Interval 0 : null : null |
| } |
| } |
| public |
| boolean requiresLayout |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.requiresLayout : Interval 0 : false : true |
| ( |
| ) |
| { |
| return false; |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.requiresLayout.return: Interval 0 : false : false |
| } |
| public |
| void setRemoteHost |
| ( |
| String host |
| ) |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.setRemoteHost.host : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| address=getAddressByName(host); |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.setRemoteHost |
| 1 : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //QC Intervals :(InetAddress) org.apache.log4j.net.SocketAppender.setRemoteHost |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| remoteHost=host; |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.remoteHost |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| } |
| public |
| String getRemoteHost |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.getRemoteHost : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| ) |
| { |
| return remoteHost; |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.getRemoteHost.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| public |
| void setPort |
| ( |
| int port |
| ) |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.setPort.port : Interval 0 : -2147483647 : 2147483647 |
| { |
| this.port=port; |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.port |
| : Interval 0 : -2147483647 : 2147483647 |
| //assignation |
| } |
| public |
| int getPort |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.getPort : Interval 0 : -2147483647 : 2147483647 |
| ( |
| ) |
| { |
| return port; |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.getPort.return : Interval 0 : -2147483647 : 2147483647 |
| } |
| public |
| void setLocationInfo |
| ( |
| boolean locationInfo |
| ) |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.setLocationInfo.locationInfo: Interval 0 : false : true |
| { |
| this.locationInfo=locationInfo; |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.locationInfo |
| : Interval 0 : false : true |
| //assignation |
| } |
| public |
| boolean getLocationInfo |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.getLocationInfo : Interval 0 : false : true |
| ( |
| ) |
| { |
| return locationInfo; |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.getLocationInfo.return: Interval 0 : false : true |
| } |
| public |
| void setApplication |
| ( |
| String lapp |
| ) |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.setApplication.lapp: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| this.application=lapp; |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.application |
| : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| //assignation |
| } |
| public |
| String getApplication |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.getApplication : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| ( |
| ) |
| { |
| return application; |
| //QC Intervals : (String) org.apache.log4j.net.SocketAppender.getApplication.return: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| } |
| public |
| void setReconnectionDelay |
| ( |
| int delay |
| ) |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.setReconnectionDelay.delay: Interval 0 : -2147483647 : 2147483647 |
| { |
| this.reconnectionDelay=delay; |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.reconnectionDelay |
| : Interval 0 : -2147483647 : 2147483647 |
| //assignation |
| } |
| public |
| int getReconnectionDelay |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.getReconnectionDelay: Interval 0 : -2147483647 : 2147483647 |
| ( |
| ) |
| { |
| return reconnectionDelay; |
| //QC Intervals : (int) org.apache.log4j.net.SocketAppender.getReconnectionDelay.return: Interval 0 : -2147483647 : 2147483647 |
| } |
| class Connector |
| extends Thread |
| { |
| boolean interrupted |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.Connector.interrupted: Interval 0 : false : false |
| =false |
| ; |
| public |
| void run |
| ( |
| ) |
| { |
| Socket socket; |
| //QC Intervals : (Socket) org.apache.log4j.net.SocketAppender.Connector.run.socket: Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| while (!interrupted) |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.Connector.interrupted |
| : Interval 0 : false : false |
| { |
| try |
| { |
| sleep(reconnectionDelay); |
| //type of the function/method : TypeInconnu |
| LogLog.debug("Attempting connection to "+address.getHostName()); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.debug |
| 1 : Interval 0 : Attempting connection to null : Attempting connection to null |
| //QC : Interval 1 : Attempting connection to new : Attempting connection to new |
| //type of the function/method : void |
| socket=(new Socket(address,port)); |
| //QC Intervals : (Socket) org.apache.log4j.net.SocketAppender.Connector.run.socket: Interval 0 : new : new |
| //assignation |
| synchronized (this) |
| { |
| oos=(new ObjectOutputStream(socket.getOutputStream())); |
| //QC Intervals :(ObjectOutputStream) org.apache.log4j.net.SocketAppender.Connector.run |
| : Interval 0 : new : new |
| //assignation |
| connector=null ; |
| //QC Intervals :(Connector) org.apache.log4j.net.SocketAppender.Connector.run |
| : Interval 0 : null : null |
| //assignation |
| LogLog.debug("Connection established . Exiting connector thread . "); |
| //type of the function/method : void |
| break ; |
| } |
| } |
| catch ( |
| InterruptedException e |
| ) |
| //QC Intervals :(InterruptedException) org.apache.log4j.net.SocketAppender.Connector.run.e : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LogLog.debug("Connector interrupted . Leaving loop . "); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.debug |
| 1 : Interval 0 : Connector interrupted . Leaving loop . : Connector interrupted . Leaving loop . |
| //type of the function/method : void |
| return ; |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.Connector.run.run.return: Interval 0 : true : true |
| } |
| //QC-CWE392 Failure de report error in status code (see http://cwe.mitre.org/data/definitions/392.html) |
| catch ( |
| java.net.ConnectException e |
| ) |
| //QC Intervals :(InterruptedException) org.apache.log4j.net.SocketAppender.Connector.run.e : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LogLog.debug("Remote host "+address.getHostName()+" refused connection . "); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.debug |
| 1 : Interval 0 : Remote host null refused connection . : Remote host null refused connection . |
| //type of the function/method : void |
| } |
| catch ( |
| IOException e |
| ) |
| //QC Intervals :(InterruptedException) org.apache.log4j.net.SocketAppender.Connector.run.e : Interval 0 : null : null |
| //QC : Interval 1 : new : new |
| { |
| LogLog.debug("Could not connect to "+address.getHostName()+" . Exception is "+e); |
| //QC Intervals : (String) org.apache.log4j.helpers.LogLog.debug |
| 1 : Interval 0 : Could not connect to null0 : Could not connect to null0 |
| //type of the function/method : void |
| } |
| } |
| //QC Intervals : (boolean) org.apache.log4j.net.SocketAppender.Connector.interrupted |
| : Interval 0 : true : true |
| } |
| } |
| } |