From 69f166f85b0cdf7cd2f1a43fed8ba96800e43e3b Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 13 Jul 2011 18:08:30 -0700 Subject: [PATCH] Added logging via SLF4J --- guacamole-common/pom.xml | 33 ++++++------------- .../guacamole/net/InetGuacamoleSocket.java | 7 ++++ .../guacamole/servlet/GuacamoleSession.java | 6 ++++ .../servlet/GuacamoleTunnelServlet.java | 15 ++++++++- 4 files changed, 37 insertions(+), 24 deletions(-) diff --git a/guacamole-common/pom.xml b/guacamole-common/pom.xml index 9ce28c816..514f9140b 100644 --- a/guacamole-common/pom.xml +++ b/guacamole-common/pom.xml @@ -24,38 +24,25 @@ - - - - - org.apache.maven.wagon - wagon-ssh-external - - - + + javax.servlet servlet-api 2.5 provided + + + + org.slf4j + slf4j-api + 1.6.1 + + - - - guac-dev - http://guac-dev.org/repo - - - - - - guac-dev - ${guac-dev.dist.repo} - - - diff --git a/guacamole-common/src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java b/guacamole-common/src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java index d966f2c2b..28add9689 100644 --- a/guacamole-common/src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java +++ b/guacamole-common/src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java @@ -33,6 +33,8 @@ import java.io.OutputStreamWriter; import java.net.InetSocketAddress; import java.net.SocketAddress; import net.sourceforge.guacamole.GuacamoleException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -43,6 +45,8 @@ import net.sourceforge.guacamole.GuacamoleException; */ public class InetGuacamoleSocket implements GuacamoleSocket { + private Logger logger = LoggerFactory.getLogger(InetGuacamoleSocket.class); + private GuacamoleReader reader; private GuacamoleWriter writer; @@ -63,6 +67,8 @@ public class InetGuacamoleSocket implements GuacamoleSocket { try { + logger.debug("Connecting to guacd at {}:{}.", hostname, port); + // Get address SocketAddress address = new InetSocketAddress( InetAddress.getByName(hostname), @@ -90,6 +96,7 @@ public class InetGuacamoleSocket implements GuacamoleSocket { @Override public void close() throws GuacamoleException { try { + logger.debug("Closing socket to guacd."); sock.close(); } catch (IOException e) { diff --git a/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleSession.java b/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleSession.java index 32c8468fb..762775372 100644 --- a/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleSession.java +++ b/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleSession.java @@ -24,6 +24,8 @@ import java.util.concurrent.ConcurrentMap; import javax.servlet.http.HttpSession; import net.sourceforge.guacamole.GuacamoleException; import net.sourceforge.guacamole.net.GuacamoleTunnel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Provides abstract access to the tunnels associated with a Guacamole session. @@ -32,6 +34,8 @@ import net.sourceforge.guacamole.net.GuacamoleTunnel; */ public class GuacamoleSession { + private Logger logger = LoggerFactory.getLogger(GuacamoleSession.class); + private ConcurrentMap tunnels; /** @@ -69,6 +73,7 @@ public class GuacamoleSession { */ public void attachTunnel(GuacamoleTunnel tunnel) { tunnels.put(tunnel.getUUID().toString(), tunnel); + logger.debug("Attached tunnel {}.", tunnel.getUUID()); } /** @@ -77,6 +82,7 @@ public class GuacamoleSession { */ public void detachTunnel(GuacamoleTunnel tunnel) { tunnels.remove(tunnel.getUUID().toString()); + logger.debug("Detached tunnel {}.", tunnel.getUUID()); } /** diff --git a/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleTunnelServlet.java b/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleTunnelServlet.java index 728afb237..3e7a34433 100644 --- a/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleTunnelServlet.java +++ b/guacamole-common/src/main/java/net/sourceforge/guacamole/servlet/GuacamoleTunnelServlet.java @@ -25,13 +25,14 @@ import java.io.UnsupportedEncodingException; import java.io.Writer; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import net.sourceforge.guacamole.GuacamoleException; import net.sourceforge.guacamole.io.GuacamoleReader; import net.sourceforge.guacamole.io.GuacamoleWriter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * A HttpServlet implementing and abstracting the operations required by the @@ -41,6 +42,8 @@ import net.sourceforge.guacamole.io.GuacamoleWriter; */ public abstract class GuacamoleTunnelServlet extends HttpServlet { + private Logger logger = LoggerFactory.getLogger(GuacamoleTunnelServlet.class); + @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException { handleTunnelRequest(request, response); @@ -75,13 +78,19 @@ public abstract class GuacamoleTunnelServlet extends HttpServlet { GuacamoleTunnel tunnel = doConnect(request); if (tunnel != null) { + + logger.info("Connection from {} succeeded.", request.getRemoteAddr()); + try { response.getWriter().println(tunnel.getUUID().toString()); } catch (IOException e) { throw new GuacamoleException(e); } + } + else + logger.info("Connection from {} failed.", request.getRemoteAddr()); } @@ -207,6 +216,10 @@ public abstract class GuacamoleTunnelServlet extends HttpServlet { } while ((message = reader.read()) != null); + // Close tunnel immediately upon EOF + if (message == null) + tunnel.close(); + // End-of-instructions marker out.write(';'); out.flush();