mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 05:07:41 +00:00
Added logging via SLF4J
This commit is contained in:
@@ -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>
|
||||
|
@@ -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) {
|
||||
|
@@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -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();
|
||||
|
Reference in New Issue
Block a user