1 diff -ru a/src/main/java/org/java_websocket/AbstractWebSocket.java b/src/main/java/org/java_websocket/AbstractWebSocket.java
2 --- a/src/main/java/org/java_websocket/AbstractWebSocket.java 2023-07-20 21:24:05.000000000 +0100
3 +++ b/src/main/java/org/java_websocket/AbstractWebSocket.java 2023-08-30 12:06:11.004719499 +0100
5 import java.util.concurrent.TimeUnit;
6 import org.java_websocket.framing.CloseFrame;
7 import org.java_websocket.util.NamedThreadFactory;
8 -import org.slf4j.Logger;
9 -import org.slf4j.LoggerFactory;
11 +import java.util.logging.Logger;
14 * Base class for additional implementations for the server as well as the client
19 - private final Logger log = LoggerFactory.getLogger(AbstractWebSocket.class);
20 + private final Logger log = Logger.getLogger(AbstractWebSocket.class.getName());
23 * Attribute which allows you to deactivate the Nagle's algorithm
25 synchronized (syncConnectionLost) {
26 this.connectionLostTimeout = TimeUnit.SECONDS.toNanos(connectionLostTimeout);
27 if (this.connectionLostTimeout <= 0) {
28 - log.trace("Connection lost timer stopped");
29 + log.fine("Connection lost timer stopped");
30 cancelConnectionLostTimer();
33 if (this.websocketRunning) {
34 - log.trace("Connection lost timer restarted");
35 + log.fine("Connection lost timer restarted");
38 ArrayList<WebSocket> connections = new ArrayList<>(getConnections());
42 } catch (Exception e) {
43 - log.error("Exception during connection lost restart", e);
44 + log.severe("Exception during connection lost restart" + " : " + e);
46 restartConnectionLostTimer();
49 synchronized (syncConnectionLost) {
50 if (connectionLostCheckerService != null || connectionLostCheckerFuture != null) {
51 this.websocketRunning = false;
52 - log.trace("Connection lost timer stopped");
53 + log.fine("Connection lost timer stopped");
54 cancelConnectionLostTimer();
58 protected void startConnectionLostTimer() {
59 synchronized (syncConnectionLost) {
60 if (this.connectionLostTimeout <= 0) {
61 - log.trace("Connection lost timer deactivated");
62 + log.fine("Connection lost timer deactivated");
65 - log.trace("Connection lost timer started");
66 + log.fine("Connection lost timer started");
67 this.websocketRunning = true;
68 restartConnectionLostTimer();
72 WebSocketImpl webSocketImpl = (WebSocketImpl) webSocket;
73 if (webSocketImpl.getLastPong() < minimumPongTime) {
74 - log.trace("Closing connection due to no pong received: {}", webSocketImpl);
75 + log.fine("Closing connection due to no pong received: {}" + " : " + webSocketImpl);
76 webSocketImpl.closeConnection(CloseFrame.ABNORMAL_CLOSE,
77 "The connection was closed because the other endpoint did not respond with a pong in time. For more information check: https://github.com/TooTallNate/Java-WebSocket/wiki/Lost-connection-detection");
79 if (webSocketImpl.isOpen()) {
80 webSocketImpl.sendPing();
82 - log.trace("Trying to ping a non open connection: {}", webSocketImpl);
83 + log.fine("Trying to ping a non open connection: {}" + " : " + webSocketImpl);
87 diff -ru a/src/main/java/org/java_websocket/drafts/Draft_6455.java b/src/main/java/org/java_websocket/drafts/Draft_6455.java
88 --- a/src/main/java/org/java_websocket/drafts/Draft_6455.java 2023-07-20 21:24:05.000000000 +0100
89 +++ b/src/main/java/org/java_websocket/drafts/Draft_6455.java 2023-08-30 12:16:03.534083539 +0100
91 import org.java_websocket.protocols.Protocol;
92 import org.java_websocket.util.Base64;
93 import org.java_websocket.util.Charsetfunctions;
94 -import org.slf4j.Logger;
95 -import org.slf4j.LoggerFactory;
96 +import java.util.logging.Level;
97 +import java.util.logging.Logger;
100 * Implementation for the RFC 6455 websocket protocol This is the recommended class for your
105 - private final Logger log = LoggerFactory.getLogger(Draft_6455.class);
106 + private final Logger log = Logger.getLogger(Draft_6455.class.getName());
109 * Attribute for the used extension in this draft
111 throws InvalidHandshakeException {
112 int v = readVersion(handshakedata);
114 - log.trace("acceptHandshakeAsServer - Wrong websocket version.");
115 + log.fine("acceptHandshakeAsServer - Wrong websocket version.");
116 return HandshakeState.NOT_MATCHED;
118 HandshakeState extensionState = HandshakeState.NOT_MATCHED;
120 if (knownExtension.acceptProvidedExtensionAsServer(requestedExtension)) {
121 negotiatedExtension = knownExtension;
122 extensionState = HandshakeState.MATCHED;
123 - log.trace("acceptHandshakeAsServer - Matching extension found: {}", negotiatedExtension);
124 + log.fine("acceptHandshakeAsServer - Matching extension found: {}" + " : " + negotiatedExtension);
129 if (protocolState == HandshakeState.MATCHED && extensionState == HandshakeState.MATCHED) {
130 return HandshakeState.MATCHED;
132 - log.trace("acceptHandshakeAsServer - No matching extension or protocol found.");
133 + log.fine("acceptHandshakeAsServer - No matching extension or protocol found.");
134 return HandshakeState.NOT_MATCHED;
138 for (IProtocol knownProtocol : knownProtocols) {
139 if (knownProtocol.acceptProvidedProtocol(requestedProtocol)) {
140 protocol = knownProtocol;
141 - log.trace("acceptHandshake - Matching protocol found: {}", protocol);
142 + log.fine("acceptHandshake - Matching protocol found: {}" + " : " + protocol);
143 return HandshakeState.MATCHED;
146 @@ -306,12 +306,12 @@
147 public HandshakeState acceptHandshakeAsClient(ClientHandshake request, ServerHandshake response)
148 throws InvalidHandshakeException {
149 if (!basicAccept(response)) {
150 - log.trace("acceptHandshakeAsClient - Missing/wrong upgrade or connection in handshake.");
151 + log.fine("acceptHandshakeAsClient - Missing/wrong upgrade or connection in handshake.");
152 return HandshakeState.NOT_MATCHED;
154 if (!request.hasFieldValue(SEC_WEB_SOCKET_KEY) || !response
155 .hasFieldValue(SEC_WEB_SOCKET_ACCEPT)) {
156 - log.trace("acceptHandshakeAsClient - Missing Sec-WebSocket-Key or Sec-WebSocket-Accept");
157 + log.fine("acceptHandshakeAsClient - Missing Sec-WebSocket-Key or Sec-WebSocket-Accept");
158 return HandshakeState.NOT_MATCHED;
162 seckeyChallenge = generateFinalKey(seckeyChallenge);
164 if (!seckeyChallenge.equals(seckeyAnswer)) {
165 - log.trace("acceptHandshakeAsClient - Wrong key for Sec-WebSocket-Key.");
166 + log.fine("acceptHandshakeAsClient - Wrong key for Sec-WebSocket-Key.");
167 return HandshakeState.NOT_MATCHED;
169 HandshakeState extensionState = HandshakeState.NOT_MATCHED;
171 if (knownExtension.acceptProvidedExtensionAsClient(requestedExtension)) {
172 negotiatedExtension = knownExtension;
173 extensionState = HandshakeState.MATCHED;
174 - log.trace("acceptHandshakeAsClient - Matching extension found: {}", negotiatedExtension);
175 + log.fine("acceptHandshakeAsClient - Matching extension found: {}" + " : " + negotiatedExtension);
180 if (protocolState == HandshakeState.MATCHED && extensionState == HandshakeState.MATCHED) {
181 return HandshakeState.MATCHED;
183 - log.trace("acceptHandshakeAsClient - No matching extension or protocol found.");
184 + log.fine("acceptHandshakeAsClient - No matching extension or protocol found.");
185 return HandshakeState.NOT_MATCHED;
190 public ByteBuffer createBinaryFrame(Framedata framedata) {
191 getExtension().encodeFrame(framedata);
192 - if (log.isTraceEnabled()) {
193 - log.trace("afterEnconding({}): {}", framedata.getPayloadData().remaining(),
194 + if (log.isLoggable(Level.FINE)) {
195 + log.fine("afterEnconding({}): {}" + " : " + framedata.getPayloadData().remaining() + " : " +
196 (framedata.getPayloadData().remaining() > 1000 ? "too big to display"
197 : new String(framedata.getPayloadData().array())));
201 currentDecodingExtension.isFrameValid(frame);
202 currentDecodingExtension.decodeFrame(frame);
203 - if (log.isTraceEnabled()) {
204 - log.trace("afterDecoding({}): {}", frame.getPayloadData().remaining(),
205 + if (log.isLoggable(Level.FINE)) {
206 + log.fine("afterDecoding({}): {}" + " : " + frame.getPayloadData().remaining() + " : " +
207 (frame.getPayloadData().remaining() > 1000 ? "too big to display"
208 : new String(frame.getPayloadData().array())));
211 int payloadlength = oldPayloadlength;
212 int realpacketsize = oldRealpacketsize;
213 if (optcode == Opcode.PING || optcode == Opcode.PONG || optcode == Opcode.CLOSING) {
214 - log.trace("Invalid frame: more than 125 octets");
215 + log.fine("Invalid frame: more than 125 octets");
216 throw new InvalidFrameException("more than 125 octets");
218 if (payloadlength == 126) {
219 @@ -647,15 +647,15 @@
221 private void translateSingleFrameCheckLengthLimit(long length) throws LimitExceededException {
222 if (length > Integer.MAX_VALUE) {
223 - log.trace("Limit exedeed: Payloadsize is to big...");
224 + log.fine("Limit exedeed: Payloadsize is to big...");
225 throw new LimitExceededException("Payloadsize is to big...");
227 if (length > maxFrameSize) {
228 - log.trace("Payload limit reached. Allowed: {} Current: {}", maxFrameSize, length);
229 + log.fine("Payload limit reached. Allowed: {} Current: {}" + " : " + maxFrameSize + " : " + length);
230 throw new LimitExceededException("Payload limit reached.", maxFrameSize);
233 - log.trace("Limit underflow: Payloadsize is to little...");
234 + log.fine("Limit underflow: Payloadsize is to little...");
235 throw new LimitExceededException("Payloadsize is to little...");
239 private void translateSingleFrameCheckPacketSize(int maxpacketsize, int realpacketsize)
240 throws IncompleteException {
241 if (maxpacketsize < realpacketsize) {
242 - log.trace("Incomplete frame: maxpacketsize < realpacketsize");
243 + log.fine("Incomplete frame: maxpacketsize < realpacketsize");
244 throw new IncompleteException(realpacketsize);
248 } else if (!frame.isFin() || curop == Opcode.CONTINUOUS) {
249 processFrameContinuousAndNonFin(webSocketImpl, frame, curop);
250 } else if (currentContinuousFrame != null) {
251 - log.error("Protocol error: Continuous frame sequence not completed.");
252 + log.severe("Protocol error: Continuous frame sequence not completed.");
253 throw new InvalidDataException(CloseFrame.PROTOCOL_ERROR,
254 "Continuous frame sequence not completed.");
255 } else if (curop == Opcode.TEXT) {
257 } else if (curop == Opcode.BINARY) {
258 processFrameBinary(webSocketImpl, frame);
260 - log.error("non control or continious frame expected");
261 + log.severe("non control or continious frame expected");
262 throw new InvalidDataException(CloseFrame.PROTOCOL_ERROR,
263 "non control or continious frame expected");
265 @@ -932,13 +932,13 @@
266 } else if (frame.isFin()) {
267 processFrameIsFin(webSocketImpl, frame);
268 } else if (currentContinuousFrame == null) {
269 - log.error("Protocol error: Continuous frame sequence was not started.");
270 + log.severe("Protocol error: Continuous frame sequence was not started.");
271 throw new InvalidDataException(CloseFrame.PROTOCOL_ERROR,
272 "Continuous frame sequence was not started.");
274 //Check if the whole payload is valid utf8, when the opcode indicates a text
275 if (curop == Opcode.TEXT && !Charsetfunctions.isValidUTF8(frame.getPayloadData())) {
276 - log.error("Protocol error: Payload is not UTF8");
277 + log.severe("Protocol error: Payload is not UTF8");
278 throw new InvalidDataException(CloseFrame.NO_UTF8);
280 //Checking if the current continuous frame contains a correct payload with the other frames combined
282 * @param e the runtime exception
284 private void logRuntimeException(WebSocketImpl webSocketImpl, RuntimeException e) {
285 - log.error("Runtime exception during onWebsocketMessage", e);
286 + log.severe("Runtime exception during onWebsocketMessage" + " : " + e);
287 webSocketImpl.getWebSocketListener().onWebsocketError(webSocketImpl, e);
291 private void processFrameIsFin(WebSocketImpl webSocketImpl, Framedata frame)
292 throws InvalidDataException {
293 if (currentContinuousFrame == null) {
294 - log.trace("Protocol error: Previous continuous frame sequence not completed.");
295 + log.fine("Protocol error: Previous continuous frame sequence not completed.");
296 throw new InvalidDataException(CloseFrame.PROTOCOL_ERROR,
297 "Continuous frame sequence was not started.");
299 @@ -1036,7 +1036,7 @@
301 private void processFrameIsNotFin(Framedata frame) throws InvalidDataException {
302 if (currentContinuousFrame != null) {
303 - log.trace("Protocol error: Previous continuous frame sequence not completed.");
304 + log.fine("Protocol error: Previous continuous frame sequence not completed.");
305 throw new InvalidDataException(CloseFrame.PROTOCOL_ERROR,
306 "Previous continuous frame sequence not completed.");
308 @@ -1102,7 +1102,7 @@
309 long totalSize = getByteBufferListSize();
310 if (totalSize > maxFrameSize) {
312 - log.trace("Payload limit reached. Allowed: {} Current: {}", maxFrameSize, totalSize);
313 + log.fine("Payload limit reached. Allowed: {} Current: {}" + " : " + maxFrameSize + " : " + totalSize);
314 throw new LimitExceededException(maxFrameSize);
317 diff -ru a/src/main/java/org/java_websocket/server/WebSocketServer.java b/src/main/java/org/java_websocket/server/WebSocketServer.java
318 --- a/src/main/java/org/java_websocket/server/WebSocketServer.java 2023-07-20 21:24:05.000000000 +0100
319 +++ b/src/main/java/org/java_websocket/server/WebSocketServer.java 2023-08-30 12:06:46.372798355 +0100
321 import org.java_websocket.framing.Framedata;
322 import org.java_websocket.handshake.ClientHandshake;
323 import org.java_websocket.handshake.Handshakedata;
324 -import org.slf4j.Logger;
325 -import org.slf4j.LoggerFactory;
326 +import java.util.logging.Logger;
329 * <code>WebSocketServer</code> is an abstract class that only takes care of the
334 - private final Logger log = LoggerFactory.getLogger(WebSocketServer.class);
335 + private final Logger log = Logger.getLogger(WebSocketServer.class.getName());
338 * Holds the list of active WebSocket connections. "Active" means WebSocket handshake is complete
342 } catch (IOException e) {
343 - log.error("IOException during selector.close", e);
344 + log.severe("IOException during selector.close" + " : " + e);
351 } catch (IOException e) {
352 - log.error("IOException during server.close", e);
353 + log.severe("IOException during server.close" + " : " + e);
357 @@ -677,13 +676,13 @@
358 } catch (IOException e) {
359 // there is nothing that must be done here
361 - log.trace("Connection closed because of exception", ex);
362 + log.fine("Connection closed because of exception" + " : " + ex);
367 private void handleFatal(WebSocket conn, Exception e) {
368 - log.error("Shutdown due to fatal error", e);
369 + log.severe("Shutdown due to fatal error" + " : " + e);
372 String causeMessage = e.getCause() != null ? " caused by " + e.getCause().getClass().getName() : "";
374 stop(0, errorMessage);
375 } catch (InterruptedException e1) {
376 Thread.currentThread().interrupt();
377 - log.error("Interrupt during stop", e);
378 + log.severe("Interrupt during stop" + " : " + e);
383 removed = this.connections.remove(ws);
385 //Don't throw an assert error if the ws is not in the list. e.g. when the other endpoint did not send any handshake. see #512
387 - "Removing connection which is not in the connections collection! Possible no handshake received! {}",
389 + "Removing connection which is not in the connections collection! Possible no handshake received! {}" + " : " +
393 @@ -1065,7 +1064,7 @@
394 setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
396 public void uncaughtException(Thread t, Throwable e) {
397 - log.error("Uncaught exception in thread {}: {}", t.getName(), e);
398 + log.severe("Uncaught exception in thread {}: {}" + " : " + t.getName() + " : " + e);
402 @@ -1089,11 +1088,11 @@
403 } catch (InterruptedException e) {
404 Thread.currentThread().interrupt();
405 } catch (VirtualMachineError | ThreadDeath | LinkageError e) {
406 - log.error("Got fatal error in worker thread {}", getName());
407 + log.severe("Got fatal error in worker thread {}" + " : " + getName());
408 Exception exception = new Exception(e);
409 handleFatal(ws, exception);
410 } catch (Throwable e) {
411 - log.error("Uncaught exception in thread {}: {}", getName(), e);
412 + log.severe("Uncaught exception in thread {}: {}" + " : " + getName() + " : " + e);
414 Exception exception = new Exception(e);
415 onWebsocketError(ws, exception);
416 @@ -1113,7 +1112,7 @@
419 } catch (Exception e) {
420 - log.error("Error while reading from remote connection", e);
421 + log.severe("Error while reading from remote connection" + " : " + e);
425 diff -ru a/src/main/java/org/java_websocket/SSLSocketChannel2.java b/src/main/java/org/java_websocket/SSLSocketChannel2.java
426 --- a/src/main/java/org/java_websocket/SSLSocketChannel2.java 2023-07-20 21:24:05.000000000 +0100
427 +++ b/src/main/java/org/java_websocket/SSLSocketChannel2.java 2023-08-30 12:05:33.937636854 +0100
429 import javax.net.ssl.SSLException;
430 import javax.net.ssl.SSLSession;
431 import org.java_websocket.interfaces.ISSLChannel;
432 -import org.slf4j.Logger;
433 -import org.slf4j.LoggerFactory;
434 +import java.util.logging.Level;
435 +import java.util.logging.Logger;
438 * Implements the relevant portions of the SocketChannel interface with the SSLEngine wrapper.
443 - private final Logger log = LoggerFactory.getLogger(SSLSocketChannel2.class);
444 + private final Logger log = Logger.getLogger(SSLSocketChannel2.class.getName());
446 protected ExecutorService exec;
448 @@ -256,13 +256,13 @@
449 inCrypt = ByteBuffer.allocate(netBufferMax);
452 - if (inData.remaining() != 0 && log.isTraceEnabled()) {
453 - log.trace(new String(inData.array(), inData.position(), inData.remaining()));
454 + if (inData.remaining() != 0 && log.isLoggable(Level.FINE)) {
455 + log.fine(new String(inData.array(), inData.position(), inData.remaining()));
459 - if (inCrypt.remaining() != 0 && log.isTraceEnabled()) {
460 - log.trace(new String(inCrypt.array(), inCrypt.position(), inCrypt.remaining()));
461 + if (inCrypt.remaining() != 0 && log.isLoggable(Level.FINE)) {
462 + log.fine(new String(inCrypt.array(), inCrypt.position(), inCrypt.remaining()));
467 saveCryptData = null;
471 \ No newline at end of file
473 diff -ru a/src/main/java/org/java_websocket/SSLSocketChannel.java b/src/main/java/org/java_websocket/SSLSocketChannel.java
474 --- a/src/main/java/org/java_websocket/SSLSocketChannel.java 2023-07-20 21:24:05.000000000 +0100
475 +++ b/src/main/java/org/java_websocket/SSLSocketChannel.java 2023-08-30 11:55:09.427244528 +0100
477 import javax.net.ssl.SSLSession;
478 import org.java_websocket.interfaces.ISSLChannel;
479 import org.java_websocket.util.ByteBufferUtils;
480 -import org.slf4j.Logger;
481 -import org.slf4j.LoggerFactory;
482 +import java.util.logging.Logger;
490 - private final Logger log = LoggerFactory.getLogger(SSLSocketChannel.class);
491 + private final Logger log = Logger.getLogger(SSLSocketChannel.class.getName());
494 * The underlying socket channel
497 socketChannel.close();
498 } catch (IOException e) {
499 - log.error("Exception during the closing of the channel", e);
500 + log.severe("Exception during the closing of the channel" + " : " + e);
506 result = engine.unwrap(peerNetData, peerAppData);
507 } catch (SSLException e) {
508 - log.error("SSLException during unwrap", e);
509 + log.severe("SSLException during unwrap" + " : " + e);
512 switch (result.getStatus()) {
515 engine.closeInbound();
516 } catch (Exception e) {
519 "This engine was forced to close inbound, without having received the proper SSL/TLS close notification message from the peer, due to end of stream.");
523 public SSLEngine getSSLEngine() {
527 \ No newline at end of file
529 diff -ru a/src/main/java/org/java_websocket/WebSocketImpl.java b/src/main/java/org/java_websocket/WebSocketImpl.java
530 --- a/src/main/java/org/java_websocket/WebSocketImpl.java 2023-07-20 21:24:05.000000000 +0100
531 +++ b/src/main/java/org/java_websocket/WebSocketImpl.java 2023-08-30 12:12:26.045577651 +0100
533 import org.java_websocket.protocols.IProtocol;
534 import org.java_websocket.server.WebSocketServer.WebSocketWorker;
535 import org.java_websocket.util.Charsetfunctions;
536 -import org.slf4j.Logger;
537 -import org.slf4j.LoggerFactory;
538 +import java.util.logging.Level;
539 +import java.util.logging.Logger;
542 * Represents one end (client or server) of a single WebSocketImpl connection. Takes care of the
547 - private final Logger log = LoggerFactory.getLogger(WebSocketImpl.class);
548 + private final Logger log = Logger.getLogger(WebSocketImpl.class.getName());
551 * Queue of buffers that need to be sent to the client.
554 public void decode(ByteBuffer socketBuffer) {
555 assert (socketBuffer.hasRemaining());
556 - if (log.isTraceEnabled()) {
557 - log.trace("process({}): ({})", socketBuffer.remaining(),
558 + if (log.isLoggable(Level.FINE)) {
559 + log.fine("process({}): ({})" + " : " + socketBuffer.remaining() + " : " +
560 (socketBuffer.remaining() > 1000 ? "too big to display"
561 : new String(socketBuffer.array(), socketBuffer.position(), socketBuffer.remaining())));
564 socketBuffer.reset();
565 Handshakedata tmphandshake = d.translateHandshake(socketBuffer);
566 if (!(tmphandshake instanceof ClientHandshake)) {
567 - log.trace("Closing due to wrong handshake");
568 + log.fine("Closing due to wrong handshake");
569 closeConnectionDueToWrongHandshake(
570 new InvalidDataException(CloseFrame.PROTOCOL_ERROR, "wrong http function"));
572 @@ -293,11 +293,11 @@
574 response = wsl.onWebsocketHandshakeReceivedAsServer(this, d, handshake);
575 } catch (InvalidDataException e) {
576 - log.trace("Closing due to wrong handshake. Possible handshake rejection", e);
577 + log.fine("Closing due to wrong handshake. Possible handshake rejection" + " : " + e);
578 closeConnectionDueToWrongHandshake(e);
580 } catch (RuntimeException e) {
581 - log.error("Closing due to internal server error", e);
582 + log.severe("Closing due to internal server error" + " : " + e);
583 wsl.onWebsocketError(this, e);
584 closeConnectionDueToInternalServerError(e);
590 - log.trace("Closing due to protocol error: no draft matches");
591 + log.fine("Closing due to protocol error: no draft matches");
592 closeConnectionDueToWrongHandshake(
593 new InvalidDataException(CloseFrame.PROTOCOL_ERROR, "no draft matches"));
596 // special case for multiple step handshakes
597 Handshakedata tmphandshake = draft.translateHandshake(socketBuffer);
598 if (!(tmphandshake instanceof ClientHandshake)) {
599 - log.trace("Closing due to protocol error: wrong http function");
600 + log.fine("Closing due to protocol error: wrong http function");
601 flushAndClose(CloseFrame.PROTOCOL_ERROR, "wrong http function", false);
608 - log.trace("Closing due to protocol error: the handshake did finally not match");
609 + log.fine("Closing due to protocol error: the handshake did finally not match");
610 close(CloseFrame.PROTOCOL_ERROR, "the handshake did finally not match");
614 draft.setParseMode(role);
615 Handshakedata tmphandshake = draft.translateHandshake(socketBuffer);
616 if (!(tmphandshake instanceof ServerHandshake)) {
617 - log.trace("Closing due to protocol error: wrong http function");
618 + log.fine("Closing due to protocol error: wrong http function");
619 flushAndClose(CloseFrame.PROTOCOL_ERROR, "wrong http function", false);
622 @@ -352,11 +352,11 @@
624 wsl.onWebsocketHandshakeReceivedAsClient(this, handshakerequest, handshake);
625 } catch (InvalidDataException e) {
626 - log.trace("Closing due to invalid data exception. Possible handshake rejection", e);
627 + log.fine("Closing due to invalid data exception. Possible handshake rejection" + " : " + e);
628 flushAndClose(e.getCloseCode(), e.getMessage(), false);
630 } catch (RuntimeException e) {
631 - log.error("Closing since client was never connected", e);
632 + log.severe("Closing since client was never connected" + " : " + e);
633 wsl.onWebsocketError(this, e);
634 flushAndClose(CloseFrame.NEVER_CONNECTED, e.getMessage(), false);
636 @@ -364,12 +364,12 @@
640 - log.trace("Closing due to protocol error: draft {} refuses handshake", draft);
641 + log.fine("Closing due to protocol error: draft {} refuses handshake" + " : " + draft);
642 close(CloseFrame.PROTOCOL_ERROR, "draft " + draft + " refuses handshake");
645 } catch (InvalidHandshakeException e) {
646 - log.trace("Closing due to invalid handshake", e);
647 + log.fine("Closing due to invalid handshake" + " : " + e);
650 } catch (IncompleteHandshakeException e) {
651 @@ -398,24 +398,24 @@
653 frames = draft.translateFrame(socketBuffer);
654 for (Framedata f : frames) {
655 - log.trace("matched frame: {}", f);
656 + log.fine("matched frame: {}" + " : " + f);
657 draft.processFrame(this, f);
659 } catch (LimitExceededException e) {
660 if (e.getLimit() == Integer.MAX_VALUE) {
661 - log.error("Closing due to invalid size of frame", e);
662 + log.severe("Closing due to invalid size of frame" + " : " + e);
663 wsl.onWebsocketError(this, e);
666 } catch (InvalidDataException e) {
667 - log.error("Closing due to invalid data in frame", e);
668 + log.severe("Closing due to invalid data in frame" + " : " + e);
669 wsl.onWebsocketError(this, e);
671 } catch (VirtualMachineError | ThreadDeath | LinkageError e) {
672 - log.error("Got fatal error during frame processing");
673 + log.severe("Got fatal error during frame processing");
676 - log.error("Closing web socket due to an error during frame processing");
677 + log.severe("Closing web socket due to an error during frame processing");
678 Exception exception = new Exception(e);
679 wsl.onWebsocketError(this, exception);
680 String errorMessage = "Got error " + e.getClass().getName();
682 sendFrame(closeFrame);
684 } catch (InvalidDataException e) {
685 - log.error("generated frame is invalid", e);
686 + log.severe("generated frame is invalid" + " : " + e);
687 wsl.onWebsocketError(this, e);
688 flushAndClose(CloseFrame.ABNORMAL_CLOSE, "generated frame is invalid", false);
692 } catch (IOException e) {
693 if (e.getMessage() != null && e.getMessage().equals("Broken pipe")) {
694 - log.trace("Caught IOException: Broken pipe during closeConnection()", e);
695 + log.fine("Caught IOException: Broken pipe during closeConnection()" + " : " + e);
697 - log.error("Exception during channel.close()", e);
698 + log.severe("Exception during channel.close()" + " : " + e);
699 wsl.onWebsocketError(this, e);
704 wsl.onWebsocketClosing(this, code, message, remote);
705 } catch (RuntimeException e) {
706 - log.error("Exception in onWebsocketClosing", e);
707 + log.severe("Exception in onWebsocketClosing" + " : " + e);
708 wsl.onWebsocketError(this, e);
713 ArrayList<ByteBuffer> outgoingFrames = new ArrayList<>();
714 for (Framedata f : frames) {
715 - log.trace("send frame: {}", f);
716 + log.fine("send frame: {}" + " : " + f);
717 outgoingFrames.add(draft.createBinaryFrame(f));
719 write(outgoingFrames);
721 // Stop if the client code throws an exception
722 throw new InvalidHandshakeException("Handshake data rejected by client.");
723 } catch (RuntimeException e) {
724 - log.error("Exception in startHandshake", e);
725 + log.severe("Exception in startHandshake" + " : " + e);
726 wsl.onWebsocketError(this, e);
727 throw new InvalidHandshakeException("rejected because of " + e);
732 private void write(ByteBuffer buf) {
733 - log.trace("write({}): {}", buf.remaining(),
734 - buf.remaining() > 1000 ? "too big to display" : new String(buf.array()));
735 + log.fine("write({}): {}" + " : " + buf.remaining() + " : " +
736 + (buf.remaining() > 1000 ? "too big to display" : new String(buf.array())));
739 wsl.onWriteDemand(this);
743 private void open(Handshakedata d) {
744 - log.trace("open using draft: {}", draft);
745 + log.fine("open using draft: {}" + " : " + draft);
746 readyState = ReadyState.OPEN;