8000 Merge pull request #183 from rabbitmq/rabbitmq-java-client-182 · aashish13/rabbitmq-java-client@5c62b66 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5c62b66

Browse files
Merge pull request rabbitmq#183 from rabbitmq/rabbitmq-java-client-182
Reduce SocketException logging severity and verbosity
2 parents bc65474 + 5670a2f commit 5c62b66

File tree

4 files changed

+31
-12
lines changed

4 files changed

+31
-12
lines changed

pom.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
5555

5656
<slf4j.version>1.7.21</slf4j.version>
57+
<logback.version>1.1.7</logback.version>
5758
<commons-cli.version>1.1</commons-cli.version>
5859
<junit.version>4.12</junit.version>
5960

@@ -480,9 +481,9 @@
480481
<scope>test</scope>
481482
</dependency>
482483
<dependency>
483-
<groupId>org.slf4j</groupId>
484-
<artifactId>slf4j-simple</artifactId>
485-
<version>${slf4j.version}</version>
484+
<groupId>ch.qos.logback</groupId>
485+
<artifactId>logback-classic</artifactId>
486+
<version>${logback.version}</version>
486487
<scope>test</scope>
487488
</dependency>
488489
</dependencies>

src/main/java/com/rabbitmq/client/impl/ForgivingExceptionHandler.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import java.io.IOException;
2222
import java.net.ConnectException;
23+
import java.net.SocketException;
2324

2425
/**
2526
* An implementation of {@link com.rabbitmq.client.ExceptionHandler} that does not
@@ -106,8 +107,20 @@ protected void handleConnectionKiller(Connection connection, Throwable exception
106107
}
107108

108109
protected void log(String message, Throwable e) {
109-
LoggerFactory.getLogger(ForgivingExceptionHandler.class).error(
110-
message, e
111-
);
110+
if(isSocketClosedOrConnectionReset(e)) {
111+
// we don't want to get too dramatic about those
112+
LoggerFactory.getLogger(ForgivingExceptionHandler.class).warn(
113+
message + " (Exception message: "+e.getMessage() + ")"
114+
);
115+
} else {
116+
LoggerFactory.getLogger(ForgivingExceptionHandler.class).error(
117+
message, e
118+
);
119+
}
120+
}
121+
122+
private boolean isSocketClosedOrConnectionReset(Throwable e) {
123+
return e instanceof SocketException &&
124+
("Connection reset".equals(e.getMessage()) || "Socket closed".equals(e.getMessage()));
112125
}
113126
}

src/main/java/com/rabbitmq/client/impl/StrictExceptionHandler.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package com.rabbitmq.client.impl;
1717

1818
import com.rabbitmq.client.*;
19-
import org.slf4j.LoggerFactory;
2019

2120
import java.io.IOException;
2221
import java.util.concurrent.TimeoutException;
@@ -71,9 +70,4 @@ protected void handleChannelKiller(Channel channel, Throwable exception, String
7170
}
7271
}
7372

74-
protected void log(String message, Throwable e) {
75-
LoggerFactory.getLogger(StrictExceptionHandler.class).error(
76-
message, e
77-
);
78-
}
7973
}

src/test/resources/logback-test.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<configuration>
2+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
3+
<encoder>
4+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
5+
</encoder>
6+
</appender>
7+
8+
<root level="error">
9+
<appender-ref ref="STDOUT" />
10+
</root>
11+
</configuration>

0 commit comments

Comments
 (0)
0