Added Rpc tracing capabilities with the log4j changes.
This commit is contained in:
parent
2a03137120
commit
3fad0cabc5
@ -18,3 +18,20 @@ log4j.appender.DefaultAppender.MaxFileSize=100KB
|
|||||||
log4j.appender.DefaultAppender.MaxBackupIndex=2
|
log4j.appender.DefaultAppender.MaxBackupIndex=2
|
||||||
log4j.appender.DefaultAppender.layout=org.apache.log4j.PatternLayout
|
log4j.appender.DefaultAppender.layout=org.apache.log4j.PatternLayout
|
||||||
log4j.appender.DefaultAppender.layout.ConversionPattern=%d{ISO8601} %p %C{2} %m%n
|
log4j.appender.DefaultAppender.layout.ConversionPattern=%d{ISO8601} %p %C{2} %m%n
|
||||||
|
|
||||||
|
#
|
||||||
|
# ATS_Trace logger configuration.
|
||||||
|
#
|
||||||
|
log4j.logger.ATS_Trace=info, TraceAppender
|
||||||
|
log4j.additivity.ATS_Trace=false
|
||||||
|
|
||||||
|
#
|
||||||
|
# TraceAppender configuration.
|
||||||
|
#
|
||||||
|
log4j.appender.TraceAppender=org.apache.log4j.RollingFileAppender
|
||||||
|
log4j.appender.TraceAppender.File=/srv/www/casaats/logs/ats.trace
|
||||||
|
log4j.appender.TraceAppender.MaxFileSize=100KB
|
||||||
|
log4j.appender.TraceAppender.MaxBackupIndex=2
|
||||||
|
log4j.appender.TraceAppender.layout=org.apache.log4j.PatternLayout
|
||||||
|
log4j.appender.TraceAppender.layout.ConversionPattern=%d{ISO8601} %p [%x] %m%n
|
||||||
|
|
||||||
|
@ -48,6 +48,7 @@ import java.net.URLClassLoader;
|
|||||||
public final class Authenticate implements RpcMethod
|
public final class Authenticate implements RpcMethod
|
||||||
{
|
{
|
||||||
private static final Logger m_log = Logger.getLogger(Authenticate.class);
|
private static final Logger m_log = Logger.getLogger(Authenticate.class);
|
||||||
|
private Logger m_trace = null;
|
||||||
|
|
||||||
private static final String m_mechanismSettingsFileName = "mechanism.settings";
|
private static final String m_mechanismSettingsFileName = "mechanism.settings";
|
||||||
|
|
||||||
@ -70,12 +71,16 @@ public final class Authenticate implements RpcMethod
|
|||||||
*
|
*
|
||||||
* @param svcConfig Service configuration object.
|
* @param svcConfig Service configuration object.
|
||||||
* @param enabledSvcsConfig Enabled services configuration object.
|
* @param enabledSvcsConfig Enabled services configuration object.
|
||||||
|
* @param traceLogger Logger for tracing requests.
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public final void init(SvcConfig svcConfig, EnabledSvcsConfig enabledSvcsConfig) throws Exception
|
public final void init(SvcConfig svcConfig,
|
||||||
|
EnabledSvcsConfig enabledSvcsConfig,
|
||||||
|
Logger traceLogger) throws Exception
|
||||||
{
|
{
|
||||||
m_svcConfig = svcConfig;
|
m_svcConfig = svcConfig;
|
||||||
m_enabledSvcsConfig = enabledSvcsConfig;
|
m_enabledSvcsConfig = enabledSvcsConfig;
|
||||||
|
m_trace = traceLogger;
|
||||||
|
|
||||||
// Now go through the configured authentication mechanisms, as we do so, instantiate
|
// Now go through the configured authentication mechanisms, as we do so, instantiate
|
||||||
// the mechanisms and place them in our map. Note that the mechanisms config folder
|
// the mechanisms and place them in our map. Note that the mechanisms config folder
|
||||||
@ -352,10 +357,17 @@ public final class Authenticate implements RpcMethod
|
|||||||
sessionToken.toString(),
|
sessionToken.toString(),
|
||||||
respLifetime);
|
respLifetime);
|
||||||
out.println(authRespMsg.toString());
|
out.println(authRespMsg.toString());
|
||||||
|
|
||||||
|
m_trace.info("Authenticate Rpc, Mech=" + authReqMsg.getMechanismId()
|
||||||
|
+ ", Realm=" + authReqMsg.getRealm()
|
||||||
|
+ ", Status=SUCCESS");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.info("invoke()- identId not resolved");
|
m_log.info("invoke()- identId not resolved");
|
||||||
|
m_trace.info("Authenticate Rpc, Mech=" + authReqMsg.getMechanismId()
|
||||||
|
+ ", Realm=" + authReqMsg.getRealm()
|
||||||
|
+ ", Status=UNSUCCESSFUL");
|
||||||
|
|
||||||
// Write out the response
|
// Write out the response
|
||||||
AuthRespMsg authRespMsg = new AuthRespMsg(ProtoDefs.httpUnauthorizedStatusMsg,
|
AuthRespMsg authRespMsg = new AuthRespMsg(ProtoDefs.httpUnauthorizedStatusMsg,
|
||||||
@ -366,6 +378,9 @@ public final class Authenticate implements RpcMethod
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.warn("invoke()- Unsupported mechanism " + authReqMsg.getMechanismId());
|
m_log.warn("invoke()- Unsupported mechanism " + authReqMsg.getMechanismId());
|
||||||
|
m_trace.info("Authenticate Rpc, Mech=" + authReqMsg.getMechanismId()
|
||||||
|
+ ", Realm=" + authReqMsg.getRealm()
|
||||||
|
+ ", Status=UNSUPPORTED_MECHANISM");
|
||||||
|
|
||||||
// Write out the response
|
// Write out the response
|
||||||
AuthRespMsg authRespMsg = new AuthRespMsg(ProtoDefs.httpNotFoundStatusMsg,
|
AuthRespMsg authRespMsg = new AuthRespMsg(ProtoDefs.httpNotFoundStatusMsg,
|
||||||
@ -376,6 +391,7 @@ public final class Authenticate implements RpcMethod
|
|||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
m_log.error("invoke()- Exception: " + e.toString());
|
m_log.error("invoke()- Exception: " + e.toString());
|
||||||
|
m_trace.info("Authenticate Rpc, Status=INTERNAL_ERROR");
|
||||||
|
|
||||||
// Write out the response
|
// Write out the response
|
||||||
try
|
try
|
||||||
|
@ -39,6 +39,7 @@ import java.io.PrintWriter;
|
|||||||
public final class GetAuthPolicy implements RpcMethod
|
public final class GetAuthPolicy implements RpcMethod
|
||||||
{
|
{
|
||||||
private static final Logger m_log = Logger.getLogger(GetAuthPolicy.class);
|
private static final Logger m_log = Logger.getLogger(GetAuthPolicy.class);
|
||||||
|
private Logger m_trace = null;
|
||||||
|
|
||||||
private SvcConfig m_svcConfig;
|
private SvcConfig m_svcConfig;
|
||||||
private EnabledSvcsConfig m_enabledSvcsConfig;
|
private EnabledSvcsConfig m_enabledSvcsConfig;
|
||||||
@ -56,12 +57,16 @@ public final class GetAuthPolicy implements RpcMethod
|
|||||||
*
|
*
|
||||||
* @param svcConfig Service configuration object.
|
* @param svcConfig Service configuration object.
|
||||||
* @param enabledSvcsConfig Enabled services configuration object.
|
* @param enabledSvcsConfig Enabled services configuration object.
|
||||||
|
* @param traceLogger Logger for tracing requests.
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public void init(SvcConfig svcConfig, EnabledSvcsConfig enabledSvcsConfig) throws Exception
|
public void init(SvcConfig svcConfig,
|
||||||
|
EnabledSvcsConfig enabledSvcsConfig,
|
||||||
|
Logger traceLogger) throws Exception
|
||||||
{
|
{
|
||||||
m_svcConfig = svcConfig;
|
m_svcConfig = svcConfig;
|
||||||
m_enabledSvcsConfig = enabledSvcsConfig;
|
m_enabledSvcsConfig = enabledSvcsConfig;
|
||||||
|
m_trace = traceLogger;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -93,13 +98,20 @@ public final class GetAuthPolicy implements RpcMethod
|
|||||||
ProtoDefs.httpOkStatusCode,
|
ProtoDefs.httpOkStatusCode,
|
||||||
new String(Base64Coder.encode(authPolicy)));
|
new String(Base64Coder.encode(authPolicy)));
|
||||||
out.println(getAuthPolicyRespMsg.toString());
|
out.println(getAuthPolicyRespMsg.toString());
|
||||||
|
m_trace.info("GetAuthPolicy Rpc, Host=" + getAuthPolicyReqMsg.getHostName()
|
||||||
|
+ ", Svc=" + getAuthPolicyReqMsg.getServiceName()
|
||||||
|
+ ", Status=SUCCESS");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.debug("invoke()- authPolicy is null for enabled service: " + getAuthPolicyReqMsg.getServiceName());
|
m_log.error("invoke()- authPolicy is null for enabled service: " + getAuthPolicyReqMsg.getServiceName());
|
||||||
GetAuthPolicyRespMsg getAuthPolicyRespMsg = new GetAuthPolicyRespMsg(ProtoDefs.httpServerErrorStatusMsg,
|
GetAuthPolicyRespMsg getAuthPolicyRespMsg = new GetAuthPolicyRespMsg(ProtoDefs.httpServerErrorStatusMsg,
|
||||||
ProtoDefs.httpServerErrorStatusCode);
|
ProtoDefs.httpServerErrorStatusCode);
|
||||||
out.println(getAuthPolicyRespMsg.toString());
|
out.println(getAuthPolicyRespMsg.toString());
|
||||||
|
|
||||||
|
m_trace.info("GetAuthPolicy Rpc, Host=" + getAuthPolicyReqMsg.getHostName()
|
||||||
|
+ ", Svc=" + getAuthPolicyReqMsg.getServiceName()
|
||||||
|
+ ", Status=INTERNAL_ERROR");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -113,11 +125,16 @@ public final class GetAuthPolicy implements RpcMethod
|
|||||||
+ getAuthPolicyReqMsg.getServiceName()
|
+ getAuthPolicyReqMsg.getServiceName()
|
||||||
+ " at " + getAuthPolicyReqMsg.getHostName()
|
+ " at " + getAuthPolicyReqMsg.getHostName()
|
||||||
+ " not enabled");
|
+ " not enabled");
|
||||||
|
|
||||||
|
m_trace.info("GetAuthPolicy Rpc, Host=" + getAuthPolicyReqMsg.getHostName()
|
||||||
|
+ ", Svc=" + getAuthPolicyReqMsg.getServiceName()
|
||||||
|
+ ", Status=SERVICE_NOT_CONFIGURED");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
m_log.error("invoke()- Exception: " + e.toString());
|
m_log.error("invoke()- Exception: " + e.toString());
|
||||||
|
m_trace.error("GetAuthPolicy Rpc, Status=INTERNAL_ERROR");
|
||||||
|
|
||||||
// Write out the response
|
// Write out the response
|
||||||
try
|
try
|
||||||
|
@ -40,6 +40,7 @@ import java.io.PrintWriter;
|
|||||||
public final class GetAuthToken implements RpcMethod
|
public final class GetAuthToken implements RpcMethod
|
||||||
{
|
{
|
||||||
private static final Logger m_log = Logger.getLogger(GetAuthToken.class);
|
private static final Logger m_log = Logger.getLogger(GetAuthToken.class);
|
||||||
|
private Logger m_trace = null;
|
||||||
|
|
||||||
private SvcConfig m_svcConfig;
|
private SvcConfig m_svcConfig;
|
||||||
private EnabledSvcsConfig m_enabledSvcsConfig;
|
private EnabledSvcsConfig m_enabledSvcsConfig;
|
||||||
@ -57,12 +58,16 @@ public final class GetAuthToken implements RpcMethod
|
|||||||
*
|
*
|
||||||
* @param svcConfig Service configuration object.
|
* @param svcConfig Service configuration object.
|
||||||
* @param enabledSvcsConfig Enabled services configuration object.
|
* @param enabledSvcsConfig Enabled services configuration object.
|
||||||
|
* @param traceLogger Logger for tracing requests.
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public final void init(SvcConfig svcConfig, EnabledSvcsConfig enabledSvcsConfig) throws Exception
|
public final void init(SvcConfig svcConfig,
|
||||||
|
EnabledSvcsConfig enabledSvcsConfig,
|
||||||
|
Logger traceLogger) throws Exception
|
||||||
{
|
{
|
||||||
m_svcConfig = svcConfig;
|
m_svcConfig = svcConfig;
|
||||||
m_enabledSvcsConfig = enabledSvcsConfig;
|
m_enabledSvcsConfig = enabledSvcsConfig;
|
||||||
|
m_trace = traceLogger;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -105,10 +110,16 @@ public final class GetAuthToken implements RpcMethod
|
|||||||
authToken.toString(),
|
authToken.toString(),
|
||||||
authToken.getLifetime());
|
authToken.getLifetime());
|
||||||
out.println(getAuthTokRespMsg.toString());
|
out.println(getAuthTokRespMsg.toString());
|
||||||
|
m_trace.info("GetAuthToken Rpc, Host=" + getAuthTokReqMsg.getHostName()
|
||||||
|
+ ", Svc=" + getAuthTokReqMsg.getServiceName()
|
||||||
|
+ ", Status=SUCCESS");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
m_log.info("invoke()- Exception: " + e.toString());
|
m_log.info("invoke()- Exception: " + e.toString());
|
||||||
|
m_trace.info("GetAuthToken Rpc, Host=" + getAuthTokReqMsg.getHostName()
|
||||||
|
+ ", Svc=" + getAuthTokReqMsg.getServiceName()
|
||||||
|
+ ", Status=UNAUTHORIZED");
|
||||||
|
|
||||||
// Write out the response
|
// Write out the response
|
||||||
try
|
try
|
||||||
@ -129,11 +140,16 @@ public final class GetAuthToken implements RpcMethod
|
|||||||
GetAuthTokRespMsg getAuthTokRespMsg = new GetAuthTokRespMsg(ProtoDefs.httpNotFoundStatusMsg,
|
GetAuthTokRespMsg getAuthTokRespMsg = new GetAuthTokRespMsg(ProtoDefs.httpNotFoundStatusMsg,
|
||||||
ProtoDefs.httpNotFoundStatusCode);
|
ProtoDefs.httpNotFoundStatusCode);
|
||||||
out.println(getAuthTokRespMsg.toString());
|
out.println(getAuthTokRespMsg.toString());
|
||||||
|
|
||||||
|
m_trace.info("GetAuthToken Rpc, Host=" + getAuthTokReqMsg.getHostName()
|
||||||
|
+ ", Svc=" + getAuthTokReqMsg.getServiceName()
|
||||||
|
+ ", Status=SERVICE_NOT_CONFIGURED");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
m_log.error("invoke()- Exception: " + e.toString());
|
m_log.error("invoke()- Exception: " + e.toString());
|
||||||
|
m_trace.info("GetAuthToken Rpc, Status=INTERNAL_ERROR");
|
||||||
|
|
||||||
// Write out the response
|
// Write out the response
|
||||||
try
|
try
|
||||||
|
@ -26,6 +26,7 @@ package com.novell.casa.authtoksvc;
|
|||||||
|
|
||||||
import org.bandit.ia.IAContext;
|
import org.bandit.ia.IAContext;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.apache.log4j.NDC;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@ -49,6 +50,7 @@ public final class Rpc extends javax.servlet.http.HttpServlet implements javax.s
|
|||||||
private static final long serialVersionUID = -8264027868130334613L;
|
private static final long serialVersionUID = -8264027868130334613L;
|
||||||
|
|
||||||
private static final Logger m_log = Logger.getLogger(Rpc.class);
|
private static final Logger m_log = Logger.getLogger(Rpc.class);
|
||||||
|
private static final Logger m_trace = Logger.getLogger("ATS_Trace");
|
||||||
|
|
||||||
private String m_appFolderPath = null;
|
private String m_appFolderPath = null;
|
||||||
private String m_configFolderPath = null;
|
private String m_configFolderPath = null;
|
||||||
@ -167,15 +169,15 @@ public final class Rpc extends javax.servlet.http.HttpServlet implements javax.s
|
|||||||
|
|
||||||
// Instantiate the Rpc Methods
|
// Instantiate the Rpc Methods
|
||||||
RpcMethod getAuthPolicy = new GetAuthPolicy();
|
RpcMethod getAuthPolicy = new GetAuthPolicy();
|
||||||
getAuthPolicy.init(svcConfig, enabledSvcsConfig);
|
getAuthPolicy.init(svcConfig, enabledSvcsConfig, m_trace);
|
||||||
methodsMap.put(getAuthPolicy.getId(), getAuthPolicy);
|
methodsMap.put(getAuthPolicy.getId(), getAuthPolicy);
|
||||||
|
|
||||||
RpcMethod authenticate = new Authenticate();
|
RpcMethod authenticate = new Authenticate();
|
||||||
authenticate.init(svcConfig, enabledSvcsConfig);
|
authenticate.init(svcConfig, enabledSvcsConfig, m_trace);
|
||||||
methodsMap.put(authenticate.getId(), authenticate);
|
methodsMap.put(authenticate.getId(), authenticate);
|
||||||
|
|
||||||
RpcMethod getAuthToken = new GetAuthToken();
|
RpcMethod getAuthToken = new GetAuthToken();
|
||||||
getAuthToken.init(svcConfig, enabledSvcsConfig);
|
getAuthToken.init(svcConfig, enabledSvcsConfig, m_trace);
|
||||||
methodsMap.put(getAuthToken.getId(), getAuthToken);
|
methodsMap.put(getAuthToken.getId(), getAuthToken);
|
||||||
|
|
||||||
// Set the map as the methods map used by the servlet
|
// Set the map as the methods map used by the servlet
|
||||||
@ -291,6 +293,9 @@ public final class Rpc extends javax.servlet.http.HttpServlet implements javax.s
|
|||||||
{
|
{
|
||||||
m_log.debug("doPost()");
|
m_log.debug("doPost()");
|
||||||
|
|
||||||
|
// Get ready to trace request
|
||||||
|
NDC.push("ClientAddr=" + request.getRemoteAddr());
|
||||||
|
|
||||||
// Get ready to send back a reply
|
// Get ready to send back a reply
|
||||||
response.setContentType("text/html");
|
response.setContentType("text/html");
|
||||||
out = response.getWriter();
|
out = response.getWriter();
|
||||||
@ -312,6 +317,7 @@ public final class Rpc extends javax.servlet.http.HttpServlet implements javax.s
|
|||||||
{
|
{
|
||||||
// Unsupported method
|
// Unsupported method
|
||||||
m_log.warn("doPost()- Unsupported method");
|
m_log.warn("doPost()- Unsupported method");
|
||||||
|
m_trace.warn("Rpc, Method=" + requestedMethod + ", Status=UNSUPPORTED");
|
||||||
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
|
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -319,18 +325,21 @@ public final class Rpc extends javax.servlet.http.HttpServlet implements javax.s
|
|||||||
{
|
{
|
||||||
// Missing method parameter
|
// Missing method parameter
|
||||||
m_log.warn("doPost()- Missing method parameter");
|
m_log.warn("doPost()- Missing method parameter");
|
||||||
|
m_trace.warn("Rpc, Status=INVALID_REQUEST");
|
||||||
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
|
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
m_log.error("doPost()- Exception caught: " + e.toString());
|
m_log.error("doPost()- Exception caught: " + e.toString());
|
||||||
|
m_trace.warn("Rpc, Status=INTERNAL_ERROR");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
||||||
}
|
}
|
||||||
catch (Error e)
|
catch (Error e)
|
||||||
{
|
{
|
||||||
m_log.error("doPost()- Error caught: " + e.toString());
|
m_log.error("doPost()- Error caught: " + e.toString());
|
||||||
|
m_trace.warn("Rpc, Status=INTERNAL_ERROR");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
||||||
}
|
}
|
||||||
@ -360,6 +369,8 @@ public final class Rpc extends javax.servlet.http.HttpServlet implements javax.s
|
|||||||
// Do nothing
|
// Do nothing
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NDC.pop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,6 +24,8 @@
|
|||||||
|
|
||||||
package com.novell.casa.authtoksvc;
|
package com.novell.casa.authtoksvc;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
|
||||||
@ -40,9 +42,12 @@ public interface RpcMethod
|
|||||||
*
|
*
|
||||||
* @param svcConfig Service configuration object.
|
* @param svcConfig Service configuration object.
|
||||||
* @param enabledSvcsConfig Enabled services configuration object.
|
* @param enabledSvcsConfig Enabled services configuration object.
|
||||||
|
* @param traceLogger Logger for tracing requests.
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
void init(SvcConfig svcConfig, EnabledSvcsConfig enabledSvcsConfig) throws Exception;
|
void init(SvcConfig svcConfig,
|
||||||
|
EnabledSvcsConfig enabledSvcsConfig,
|
||||||
|
Logger traceLogger) throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process Rpc.
|
* Process Rpc.
|
||||||
|
Loading…
Reference in New Issue
Block a user