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>
</plugin>
</plugins>
<extensions>
<!-- Required for SSH deploy -->
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
</extension>
</extensions>
</build>
<dependencies>
<!-- Java servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!-- SLF4J - logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
</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>

View File

@@ -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) {

View File

@@ -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<String, GuacamoleTunnel> 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());
}
/**

View File

@@ -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();