From 848125427393c55108f4e4874696dc4b176aa78d Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 16 Oct 2013 10:02:34 -0700 Subject: [PATCH] Add logging for exceptions within websocket tunnel servlets. --- .../jetty/GuacamoleWebSocketTunnelServlet.java | 18 +++++++++++++----- .../GuacamoleWebSocketTunnelServlet.java | 8 ++++---- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/jetty/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/jetty/GuacamoleWebSocketTunnelServlet.java index e4deb5ccb..96e4d2a9f 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/jetty/GuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/jetty/GuacamoleWebSocketTunnelServlet.java @@ -27,6 +27,8 @@ import org.glyptodon.guacamole.net.GuacamoleTunnel; import org.eclipse.jetty.websocket.WebSocket; import org.eclipse.jetty.websocket.WebSocket.Connection; import org.eclipse.jetty.websocket.WebSocketServlet; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet. @@ -35,6 +37,11 @@ import org.eclipse.jetty.websocket.WebSocketServlet; */ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { + /** + * Logger for this class. + */ + private static Logger logger = LoggerFactory.getLogger(GuacamoleWebSocketTunnelServlet.class); + /** * The default, minimum buffer size for instructions. */ @@ -50,7 +57,8 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { tunnel = doConnect(request); } catch (GuacamoleException e) { - return null; // FIXME: Can throw exception? + logger.error("Error connecting WebSocket tunnel.", e); + return null; } // Return new WebSocket which communicates through tunnel @@ -65,7 +73,7 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { writer.write(string.toCharArray()); } catch (GuacamoleException e) { - // FIXME: Handle exception + logger.debug("Tunnel write failed.", e); } tunnel.releaseWriter(); @@ -98,10 +106,10 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { } } catch (IOException e) { - // FIXME: Handle exception + logger.debug("Tunnel read failed due to I/O error.", e); } catch (GuacamoleException e) { - // FIXME: Handle exception + logger.debug("Tunnel read failed.", e); } } @@ -118,7 +126,7 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { tunnel.close(); } catch (GuacamoleException e) { - // FIXME: Handle exception + logger.debug("Unable to close WebSocket tunnel.", e); } } diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java index 8fca84e6e..60049063f 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java @@ -83,7 +83,7 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { } catch (GuacamoleException e) { - // FIXME: Handle exception + logger.debug("Tunnel write failed.", e); } tunnel.releaseWriter(); @@ -127,10 +127,10 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { } } catch (IOException e) { - // FIXME: Handle exception + logger.debug("Tunnel read failed due to I/O error.", e); } catch (GuacamoleException e) { - // FIXME: Handle exception + logger.debug("Tunnel read failed.", e); } } @@ -147,7 +147,7 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { tunnel.close(); } catch (GuacamoleException e) { - // FIXME: Handle exception + logger.debug("Unable to close WebSocket tunnel.", e); } }