Added logging via SLF4J

This commit is contained in:
Michael Jumper
2011-07-13 18:08:30 -07:00
parent 01c3c943d4
commit 69f166f85b
4 changed files with 37 additions and 24 deletions

View File

@@ -24,38 +24,25 @@
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
<extensions>
<!-- Required for SSH deploy -->
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
</extension>
</extensions>
</build> </build>
<dependencies> <dependencies>
<!-- Java servlet API -->
<dependency> <dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId> <artifactId>servlet-api</artifactId>
<version>2.5</version> <version>2.5</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- SLF4J - logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies> </dependencies>
<repositories>
<repository>
<id>guac-dev</id>
<url>http://guac-dev.org/repo</url>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>guac-dev</id>
<url>${guac-dev.dist.repo}</url>
</repository>
</distributionManagement>
</project> </project>

View File

@@ -33,6 +33,8 @@ import java.io.OutputStreamWriter;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.net.SocketAddress; import java.net.SocketAddress;
import net.sourceforge.guacamole.GuacamoleException; 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 { public class InetGuacamoleSocket implements GuacamoleSocket {
private Logger logger = LoggerFactory.getLogger(InetGuacamoleSocket.class);
private GuacamoleReader reader; private GuacamoleReader reader;
private GuacamoleWriter writer; private GuacamoleWriter writer;
@@ -63,6 +67,8 @@ public class InetGuacamoleSocket implements GuacamoleSocket {
try { try {
logger.debug("Connecting to guacd at {}:{}.", hostname, port);
// Get address // Get address
SocketAddress address = new InetSocketAddress( SocketAddress address = new InetSocketAddress(
InetAddress.getByName(hostname), InetAddress.getByName(hostname),
@@ -90,6 +96,7 @@ public class InetGuacamoleSocket implements GuacamoleSocket {
@Override @Override
public void close() throws GuacamoleException { public void close() throws GuacamoleException {
try { try {
logger.debug("Closing socket to guacd.");
sock.close(); sock.close();
} }
catch (IOException e) { catch (IOException e) {

View File

@@ -24,6 +24,8 @@ import java.util.concurrent.ConcurrentMap;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import net.sourceforge.guacamole.GuacamoleException; import net.sourceforge.guacamole.GuacamoleException;
import net.sourceforge.guacamole.net.GuacamoleTunnel; 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. * Provides abstract access to the tunnels associated with a Guacamole session.
@@ -32,6 +34,8 @@ import net.sourceforge.guacamole.net.GuacamoleTunnel;
*/ */
public class GuacamoleSession { public class GuacamoleSession {
private Logger logger = LoggerFactory.getLogger(GuacamoleSession.class);
private ConcurrentMap<String, GuacamoleTunnel> tunnels; private ConcurrentMap<String, GuacamoleTunnel> tunnels;
/** /**
@@ -69,6 +73,7 @@ public class GuacamoleSession {
*/ */
public void attachTunnel(GuacamoleTunnel tunnel) { public void attachTunnel(GuacamoleTunnel tunnel) {
tunnels.put(tunnel.getUUID().toString(), 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) { public void detachTunnel(GuacamoleTunnel tunnel) {
tunnels.remove(tunnel.getUUID().toString()); tunnels.remove(tunnel.getUUID().toString());
logger.debug("Detached tunnel {}.", tunnel.getUUID());
} }
/** /**

View File

@@ -25,13 +25,14 @@ import java.io.UnsupportedEncodingException;
import java.io.Writer; import java.io.Writer;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import net.sourceforge.guacamole.GuacamoleException; import net.sourceforge.guacamole.GuacamoleException;
import net.sourceforge.guacamole.io.GuacamoleReader; import net.sourceforge.guacamole.io.GuacamoleReader;
import net.sourceforge.guacamole.io.GuacamoleWriter; import net.sourceforge.guacamole.io.GuacamoleWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* A HttpServlet implementing and abstracting the operations required by the * 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 { public abstract class GuacamoleTunnelServlet extends HttpServlet {
private Logger logger = LoggerFactory.getLogger(GuacamoleTunnelServlet.class);
@Override @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException {
handleTunnelRequest(request, response); handleTunnelRequest(request, response);
@@ -75,13 +78,19 @@ public abstract class GuacamoleTunnelServlet extends HttpServlet {
GuacamoleTunnel tunnel = doConnect(request); GuacamoleTunnel tunnel = doConnect(request);
if (tunnel != null) { if (tunnel != null) {
logger.info("Connection from {} succeeded.", request.getRemoteAddr());
try { try {
response.getWriter().println(tunnel.getUUID().toString()); response.getWriter().println(tunnel.getUUID().toString());
} }
catch (IOException e) { catch (IOException e) {
throw new GuacamoleException(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); } while ((message = reader.read()) != null);
// Close tunnel immediately upon EOF
if (message == null)
tunnel.close();
// End-of-instructions marker // End-of-instructions marker
out.write(';'); out.write(';');
out.flush(); out.flush();