Commit c3a40db9 by Juho Juopperi

logging stuff

1 parent 59df6736
eclipse.preferences.version=1 eclipse.preferences.version=1
entitygen.DEFAULT_PACKAGE=model
org.eclipse.jpt.core.platform=eclipselink2_4 org.eclipse.jpt.core.platform=eclipselink2_4
org.eclipse.jpt.jpa.core.discoverAnnotatedClasses=true org.eclipse.jpt.jpa.core.discoverAnnotatedClasses=true
org.eclipse.jpt.jpa.core.metamodelSourceFolderName=target/generated-sources/annotations org.eclipse.jpt.jpa.core.metamodelSourceFolderName=target/generated-sources/annotations
...@@ -33,8 +33,10 @@ import javax.servlet.ServletResponse; ...@@ -33,8 +33,10 @@ import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.http.HttpRequest;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import fi.codecrew.moya.beans.RestBeanLocal; import fi.codecrew.moya.beans.RestBeanLocal;
import fi.codecrew.moya.beans.SessionMgmtBeanLocal; import fi.codecrew.moya.beans.SessionMgmtBeanLocal;
...@@ -87,6 +89,27 @@ public class HostnameFilter implements Filter { ...@@ -87,6 +89,27 @@ public class HostnameFilter implements Filter {
private enum AuthType { private enum AuthType {
UNKNOWN, ANON, REST, USER 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) * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
...@@ -131,6 +154,7 @@ public class HostnameFilter implements Filter { ...@@ -131,6 +154,7 @@ public class HostnameFilter implements Filter {
} }
// pass the request along the filter chain // pass the request along the filter chain
try { try {
insertLoggingContext((HttpServletRequest)request, authtype);
chain.doFilter(request, response); chain.doFilter(request, response);
} catch (Throwable t) { } catch (Throwable t) {
if (AuthType.REST == authtype) { if (AuthType.REST == authtype) {
...@@ -139,6 +163,7 @@ public class HostnameFilter implements Filter { ...@@ -139,6 +163,7 @@ public class HostnameFilter implements Filter {
throw t; throw t;
} finally { } finally {
BortalLocalContextHolder.cleanupThread(); BortalLocalContextHolder.cleanupThread();
removeLoggingContext();
} }
} }
......
...@@ -54,6 +54,9 @@ public class ReplServlet implements Servlet { ...@@ -54,6 +54,9 @@ public class ReplServlet implements Servlet {
public void destroy() { public void destroy() {
if (nreplServer != null) { if (nreplServer != null) {
nreplServer.stop(); 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!