import java.util.TimeZone;\r
import java.util.UUID;\r
\r
-import org.jboss.logging.MDC;\r
+import org.apache.log4j.MDC;\r
\r
+/**\r
+ * This class handles the special info that appear in the log, like RequestID,\r
+ * time context, ...\r
+ *\r
+ */\r
public class LoggingUtils {\r
\r
/**\r
* Set request related logging variables in thread local data via MDC\r
- *\r
+ * \r
* @param service\r
* Service Name of API (ex. "PUT template")\r
* @param partner\r
* Partner name (client or user invoking API)\r
*/\r
public static void setRequestContext(String service, String partner) {\r
- MDC.put("RequestId", UUID.randomUUID().toString());\r
+ MDC.put("RequestId", UUID.randomUUID().toString());\r
MDC.put("ServiceName", service);\r
MDC.put("PartnerName", partner);\r
}\r
\r
/**\r
- * Set time related logging variables in thread local data via MDC\r
- *\r
+ * Set time related logging variables in thread local data via MDC.\r
+ * \r
* @param beginTimeStamp\r
* Start time\r
* @param endTimeStamp\r
}\r
\r
/**\r
- * Set response related logging variables in thread local data via MDC\r
+ * Set response related logging variables in thread local data via MDC.\r
* \r
* @param code\r
* Response code ("0" indicates success)\r
}\r
\r
/**\r
- * Set error related logging variables in thread local data via MDC\r
+ * Set error related logging variables in thread local data via MDC.\r
* \r
* @param code\r
* Error code\r
return df.format(timeStamp);\r
}\r
\r
+ /**\r
+ * Get a previously stored RequestID for the thread local data via MDC. If\r
+ * one was not previously stored, generate one, store it, and return that\r
+ * one.\r
+ * \r
+ * @return A string with the request ID\r
+ */\r
+ public static String getRequestId() {\r
+ String reqid;\r
+\r
+ reqid = (String) MDC.get("RequestID");\r
+ if (reqid == null || reqid.isEmpty()) {\r
+ reqid = UUID.randomUUID().toString();\r
+ MDC.put("RequestId", reqid);\r
+ }\r
+ return reqid;\r
+ }\r
+\r
}\r