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