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.annotation.Internal;
31 import org.apache.hc.core5.http.ConnectionClosedException;
32 import org.apache.hc.core5.reactor.IOSession;
33 import org.apache.hc.core5.reactor.IOSessionListener;
34 import org.slf4j.Logger;
35 import org.slf4j.LoggerFactory;
36
37 public class LoggingIOSessionListener implements IOSessionListener {
38
39 public final static LoggingIOSessionListener INSTANCE = new LoggingIOSessionListener();
40
41 private final Logger connLog = LoggerFactory.getLogger("org.apache.hc.core5.http.connection");
42
43 @Internal
44 public LoggingIOSessionListener() {
45 }
46
47 @Override
48 public void connected(final IOSession session) {
49 if (connLog.isDebugEnabled()) {
50 connLog.debug("{} connected", session);
51 }
52 }
53
54 @Override
55 public void startTls(final IOSession session) {
56 if (connLog.isDebugEnabled()) {
57 connLog.debug("{} TLS started", session);
58 }
59 }
60
61 @Override
62 public void inputReady(final IOSession session) {
63 if (connLog.isDebugEnabled()) {
64 connLog.debug("{} input ready", session);
65 }
66 }
67
68 @Override
69 public void outputReady(final IOSession session) {
70 if (connLog.isDebugEnabled()) {
71 connLog.debug("{} output ready", session);
72 }
73 }
74
75 @Override
76 public void timeout(final IOSession session) {
77 if (connLog.isDebugEnabled()) {
78 connLog.debug("{} timeout", session);
79 }
80 }
81
82 @Override
83 public void exception(final IOSession session, final Exception ex) {
84 if (ex instanceof ConnectionClosedException) {
85 return;
86 }
87 connLog.error("{} {}", session, ex.getMessage(), ex);
88 }
89
90 @Override
91 public void disconnected(final IOSession session) {
92 if (connLog.isDebugEnabled()) {
93 connLog.debug("{} disconnected", session);
94 }
95 }
96
97 }