1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.hc.core5.testing.nio;
29
30 import org.apache.hc.core5.http.ConnectionClosedException;
31 import org.apache.hc.core5.reactor.IOSession;
32 import org.apache.hc.core5.reactor.IOSessionListener;
33 import org.slf4j.Logger;
34 import org.slf4j.LoggerFactory;
35
36 public class LoggingIOSessionListener implements IOSessionListener {
37
38 public final static LoggingIOSessionListener INSTANCE = new LoggingIOSessionListener();
39
40 private final Logger connLog = LoggerFactory.getLogger("org.apache.hc.core5.http.connection");
41
42 private LoggingIOSessionListener() {
43 }
44
45 @Override
46 public void connected(final IOSession session) {
47 if (connLog.isDebugEnabled()) {
48 connLog.debug("{} connected", session);
49 }
50 }
51
52 @Override
53 public void startTls(final IOSession session) {
54 if (connLog.isDebugEnabled()) {
55 connLog.debug("{} TLS started", session);
56 }
57 }
58
59 @Override
60 public void inputReady(final IOSession session) {
61 if (connLog.isDebugEnabled()) {
62 connLog.debug("{} input ready", session);
63 }
64 }
65
66 @Override
67 public void outputReady(final IOSession session) {
68 if (connLog.isDebugEnabled()) {
69 connLog.debug("{} output ready", session);
70 }
71 }
72
73 @Override
74 public void timeout(final IOSession session) {
75 if (connLog.isDebugEnabled()) {
76 connLog.debug("{} timeout", session);
77 }
78 }
79
80 @Override
81 public void exception(final IOSession session, final Exception ex) {
82 if (ex instanceof ConnectionClosedException) {
83 return;
84 }
85 connLog.error("{} {}", session, ex.getMessage(), ex);
86 }
87
88 @Override
89 public void disconnected(final IOSession session) {
90 if (connLog.isDebugEnabled()) {
91 connLog.debug("{} disconnected", session);
92 }
93 }
94
95 }