From f7f2b5666a94d69b589de2e3891f849deb5c7016 Mon Sep 17 00:00:00 2001 From: nit Date: Tue, 5 Oct 2010 19:51:12 +0530 Subject: [PATCH] bug 5871: removing the NDC since there is no nested context involved in the audit trail and since its leaking into the management server logs. --- server/src/com/cloud/api/ApiServer.java | 4 +--- server/src/com/cloud/api/ApiServlet.java | 16 +++++++--------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java index 02902039a82..21994a92de0 100755 --- a/server/src/com/cloud/api/ApiServer.java +++ b/server/src/com/cloud/api/ApiServer.java @@ -74,7 +74,6 @@ import org.apache.http.protocol.ResponseContent; import org.apache.http.protocol.ResponseDate; import org.apache.http.protocol.ResponseServer; import org.apache.log4j.Logger; -import org.apache.log4j.NDC; import com.cloud.configuration.ConfigurationVO; import com.cloud.configuration.dao.ConfigurationDao; @@ -237,7 +236,7 @@ public class ApiServer implements HttpRequestHandler { try { // always trust commands from API port, user context will always be UID_SYSTEM/ACCOUNT_ID_SYSTEM UserContext.registerContext(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, null, true); - NDC.push("userId="+User.UID_SYSTEM+ " accountId="+Account.ACCOUNT_ID_SYSTEM+ " sessionId="+null ); + sb.insert(0,"(userId="+User.UID_SYSTEM+ " accountId="+Account.ACCOUNT_ID_SYSTEM+ " sessionId="+null+ ") " ); String responseText = handleRequest(parameterMap, true, responseType, sb); writeResponse(response, responseText, false, responseType); } catch (ServerApiException se) { @@ -261,7 +260,6 @@ public class ApiServer implements HttpRequestHandler { } } finally { s_accessLogger.info(sb.toString()); - NDC.remove(); UserContext.unregisterContext(); } } diff --git a/server/src/com/cloud/api/ApiServlet.java b/server/src/com/cloud/api/ApiServlet.java index 7c6b3de73fe..f489e926a95 100755 --- a/server/src/com/cloud/api/ApiServlet.java +++ b/server/src/com/cloud/api/ApiServlet.java @@ -31,7 +31,6 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; -import org.apache.log4j.NDC; import com.cloud.maid.StackMaid; import com.cloud.user.Account; @@ -73,7 +72,7 @@ public class ApiServlet extends HttpServlet { @SuppressWarnings("unchecked") private void processRequest(HttpServletRequest req, HttpServletResponse resp) { StringBuffer auditTrailSb = new StringBuffer(); - auditTrailSb.append(req.getRemoteAddr()); + auditTrailSb.append(" " +req.getRemoteAddr()); auditTrailSb.append(" -- " + req.getMethod() + " " ); try { Map params = new HashMap(); @@ -95,9 +94,9 @@ public class ApiServlet extends HttpServlet { if (session != null) { String userIdStr = (String)session.getAttribute(BaseCmd.Properties.USER_ID.getName()); Account account = (Account)session.getAttribute(BaseCmd.Properties.ACCOUNT_OBJ.getName()); - NDC.push("userId="+userIdStr+ + auditTrailSb.insert(0, "(userId="+userIdStr+ " accountId="+ account==null ? null:account.getId()+ - " sessionId="+session.getId() ); + " sessionId="+session.getId() +")" ); if (userIdStr != null) { _apiServer.logoutUser(Long.parseLong(userIdStr)); } @@ -156,9 +155,9 @@ public class ApiServlet extends HttpServlet { for (Pair sessionParam : sessionParams) { session.setAttribute(sessionParam.first(), sessionParam.second()); } - NDC.push("userId="+session.getAttribute(BaseCmd.Properties.USER_ID.getName())+ + auditTrailSb.insert(0,"(userId="+session.getAttribute(BaseCmd.Properties.USER_ID.getName())+ " accountId="+ ((Account)session.getAttribute(BaseCmd.Properties.ACCOUNT_OBJ.getName())).getId()+ - " sessionId="+session.getId() ); + " sessionId="+session.getId()+ ")" ); String loginResponse = getLoginSuccessResponse(session, responseType); auditTrailSb.append(" " +HttpServletResponse.SC_OK); writeResponse(resp, loginResponse, false, responseType); @@ -239,6 +238,7 @@ public class ApiServlet extends HttpServlet { // update user context info here so that we can take information if the request is authenticated // via api key mechanism updateUserContext(params, session != null ? session.getId() : null); + auditTrailSb.insert(0, "(userId="+UserContext.current().getUserId()+ " accountId="+UserContext.current().getAccountId()+ " sessionId="+(session != null ? session.getId() : null)+ ")" ); try { String response = _apiServer.handleRequest(params, false, responseType, auditTrailSb); writeResponse(resp, response != null ? response : "", false, responseType); @@ -265,7 +265,6 @@ public class ApiServlet extends HttpServlet { s_accessLogger.info(auditTrailSb.toString()); // cleanup user context to prevent from being peeked in other request context UserContext.unregisterContext(); - NDC.remove(); } } @@ -279,8 +278,7 @@ public class ApiServlet extends HttpServlet { userId = Long.parseLong(userIdStr); if(accountObj != null) - accountId = accountObj.getId(); - NDC.push("userId="+userId+ " accountId="+accountId+ " sessionId="+sessionId ); + accountId = accountObj.getId(); UserContext.updateContext(userId, accountId, sessionId); }