Commit c3a40db9 by Juho Juopperi

logging stuff

1 parent 59df6736
eclipse.preferences.version=1
entitygen.DEFAULT_PACKAGE=model
org.eclipse.jpt.core.platform=eclipselink2_4
org.eclipse.jpt.jpa.core.discoverAnnotatedClasses=true
org.eclipse.jpt.jpa.core.metamodelSourceFolderName=target/generated-sources/annotations
......@@ -33,8 +33,10 @@ import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.http.HttpRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import fi.codecrew.moya.beans.RestBeanLocal;
import fi.codecrew.moya.beans.SessionMgmtBeanLocal;
......@@ -88,6 +90,27 @@ public class HostnameFilter implements Filter {
UNKNOWN, ANON, REST, USER
}
/**
* Add user information to SLF4J MDC context, so current user can be shown
* in logs.
*
* @param request
* @param authType
*/
void insertLoggingContext(HttpServletRequest request, AuthType authType) {
String userString = request.getUserPrincipal().getName();
MDC.put("user", userString);
MDC.put("authtype", authType.name());
}
/**
* Remove user info from SLF4J MDC context.
*/
void removeLoggingContext() {
MDC.remove("user");
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
......@@ -131,6 +154,7 @@ public class HostnameFilter implements Filter {
}
// pass the request along the filter chain
try {
insertLoggingContext((HttpServletRequest)request, authtype);
chain.doFilter(request, response);
} catch (Throwable t) {
if (AuthType.REST == authtype) {
......@@ -139,6 +163,7 @@ public class HostnameFilter implements Filter {
throw t;
} finally {
BortalLocalContextHolder.cleanupThread();
removeLoggingContext();
}
}
......
......@@ -54,6 +54,9 @@ public class ReplServlet implements Servlet {
public void destroy() {
if (nreplServer != null) {
nreplServer.stop();
nreplServer.unregisterMBean();
nreplServer.clear();
nreplServer = null;
}
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!