http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/ApiServer.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiServer.java 
b/server/src/com/cloud/api/ApiServer.java
index 96cc5e5..4da8b1e 100644
--- a/server/src/com/cloud/api/ApiServer.java
+++ b/server/src/com/cloud/api/ApiServer.java
@@ -16,44 +16,45 @@
 // under the License.
 package com.cloud.api;
 
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URLEncoder;
-import java.security.SecureRandom;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TimeZone;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.crypto.Mac;
-import javax.crypto.spec.SecretKeySpec;
-import javax.inject.Inject;
-import javax.naming.ConfigurationException;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
+import com.cloud.api.dispatch.DispatchChainFactory;
+import com.cloud.api.dispatch.DispatchTask;
+import com.cloud.api.response.ApiResponseSerializer;
+import com.cloud.configuration.Config;
+import com.cloud.domain.Domain;
+import com.cloud.domain.DomainVO;
+import com.cloud.domain.dao.DomainDao;
+import com.cloud.event.ActionEventUtils;
+import com.cloud.event.EventCategory;
+import com.cloud.event.EventTypes;
+import com.cloud.exception.AccountLimitException;
+import com.cloud.exception.CloudAuthenticationException;
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.exception.PermissionDeniedException;
+import com.cloud.exception.RequestLimitException;
+import com.cloud.exception.ResourceAllocationException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.user.Account;
+import com.cloud.user.AccountManager;
+import com.cloud.user.DomainManager;
+import com.cloud.user.User;
+import com.cloud.user.UserAccount;
+import com.cloud.user.UserVO;
+import com.cloud.utils.ConstantTimeComparator;
+import com.cloud.utils.HttpUtils;
+import com.cloud.utils.NumbersUtil;
+import com.cloud.utils.Pair;
+import com.cloud.utils.StringUtils;
+import com.cloud.utils.component.ComponentContext;
+import com.cloud.utils.component.ManagerBase;
+import com.cloud.utils.component.PluggableService;
+import com.cloud.utils.concurrency.NamedThreadFactory;
+import com.cloud.utils.db.EntityManager;
+import com.cloud.utils.db.SearchCriteria;
+import com.cloud.utils.db.TransactionLegacy;
+import com.cloud.utils.db.UUIDManager;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.utils.exception.ExceptionProxyObject;
 import org.apache.cloudstack.acl.APIChecker;
 import org.apache.cloudstack.api.APICommand;
 import org.apache.cloudstack.api.ApiConstants;
@@ -133,51 +134,51 @@ import org.apache.http.protocol.ResponseConnControl;
 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.springframework.beans.factory.NoSuchBeanDefinitionException;
 import org.springframework.stereotype.Component;
 
-import com.cloud.api.dispatch.DispatchChainFactory;
-import com.cloud.api.dispatch.DispatchTask;
-import com.cloud.api.response.ApiResponseSerializer;
-import com.cloud.configuration.Config;
-import com.cloud.domain.Domain;
-import com.cloud.domain.DomainVO;
-import com.cloud.domain.dao.DomainDao;
-import com.cloud.event.ActionEventUtils;
-import com.cloud.event.EventCategory;
-import com.cloud.event.EventTypes;
-import com.cloud.exception.AccountLimitException;
-import com.cloud.exception.CloudAuthenticationException;
-import com.cloud.exception.InsufficientCapacityException;
-import com.cloud.exception.InvalidParameterValueException;
-import com.cloud.exception.PermissionDeniedException;
-import com.cloud.exception.RequestLimitException;
-import com.cloud.exception.ResourceAllocationException;
-import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.user.Account;
-import com.cloud.user.AccountManager;
-import com.cloud.user.DomainManager;
-import com.cloud.user.User;
-import com.cloud.user.UserAccount;
-import com.cloud.user.UserVO;
-import com.cloud.utils.ConstantTimeComparator;
-import com.cloud.utils.HttpUtils;
-import com.cloud.utils.NumbersUtil;
-import com.cloud.utils.Pair;
-import com.cloud.utils.StringUtils;
-import com.cloud.utils.component.ComponentContext;
-import com.cloud.utils.component.ManagerBase;
-import com.cloud.utils.component.PluggableService;
-import com.cloud.utils.concurrency.NamedThreadFactory;
-import com.cloud.utils.db.EntityManager;
-import com.cloud.utils.db.SearchCriteria;
-import com.cloud.utils.db.TransactionLegacy;
-import com.cloud.utils.db.UUIDManager;
-import com.cloud.utils.exception.CloudRuntimeException;
-import com.cloud.utils.exception.ExceptionProxyObject;
+import javax.crypto.Mac;
+import javax.crypto.spec.SecretKeySpec;
+import javax.inject.Inject;
+import javax.naming.ConfigurationException;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InterruptedIOException;
+import java.net.InetAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URLEncoder;
+import java.security.SecureRandom;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TimeZone;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 @Component
 public class ApiServer extends ManagerBase implements HttpRequestHandler, 
ApiServerService {
+    private static final Logger s_logger = 
Logger.getLogger(ApiServer.class.getName());
+    private static final Logger s_accessLogger = Logger.getLogger("apiserver." 
+ ApiServer.class.getName());
 
     public static boolean encodeApiResponse = false;
     public static boolean s_enableSecureCookie = false;
@@ -242,8 +243,8 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
         AsyncJob job = eventInfo.first();
         String jobEvent = eventInfo.second();
 
-        if (logger.isTraceEnabled())
-            logger.trace("Handle asyjob publish event " + jobEvent);
+        if (s_logger.isTraceEnabled())
+            s_logger.trace("Handle asyjob publish event " + jobEvent);
 
         EventBus eventBus = null;
         try {
@@ -268,11 +269,11 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             if (begin >= 0) {
                 cmdEventType = info.substring(begin + marker.length() + 2, 
info.indexOf(",", begin) - 1);
 
-                if (logger.isDebugEnabled())
-                    logger.debug("Retrieved cmdEventType from job info: " + 
cmdEventType);
+                if (s_logger.isDebugEnabled())
+                    s_logger.debug("Retrieved cmdEventType from job info: " + 
cmdEventType);
             } else {
-                if (logger.isDebugEnabled())
-                    logger.debug("Unable to locate cmdEventType marker in job 
info. publish as unknown event");
+                if (s_logger.isDebugEnabled())
+                    s_logger.debug("Unable to locate cmdEventType marker in 
job info. publish as unknown event");
             }
         }
         // For some reason, the instanceType / instanceId are not abstract, 
which means we may get null values.
@@ -309,7 +310,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             eventBus.publish(event);
         } catch (EventBusException evx) {
             String errMsg = "Failed to publish async job event on the the 
event bus.";
-            logger.warn(errMsg, evx);
+            s_logger.warn(errMsg, evx);
         }
     }
 
@@ -331,7 +332,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
         if (strSnapshotLimit != null) {
             final Long snapshotLimit = NumbersUtil.parseLong(strSnapshotLimit, 
1L);
             if (snapshotLimit.longValue() <= 0) {
-                logger.debug("Global config parameter " + 
Config.ConcurrentSnapshotsThresholdPerHost.toString() + " is less or equal 0; 
defaulting to unlimited");
+                s_logger.debug("Global config parameter " + 
Config.ConcurrentSnapshotsThresholdPerHost.toString() + " is less or equal 0; 
defaulting to unlimited");
             } else {
                 _dispatcher.setCreateSnapshotQueueSizeLimit(snapshotLimit);
             }
@@ -340,8 +341,8 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
         final Set<Class<?>> cmdClasses = new HashSet<Class<?>>();
         for (final PluggableService pluggableService : _pluggableServices) {
             cmdClasses.addAll(pluggableService.getCommands());
-            if (logger.isDebugEnabled()) {
-                logger.debug("Discovered plugin " + 
pluggableService.getClass().getSimpleName());
+            if (s_logger.isDebugEnabled()) {
+                s_logger.debug("Discovered plugin " + 
pluggableService.getClass().getSimpleName());
             }
         }
 
@@ -399,7 +400,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             try {
                 paramList = URLEncodedUtils.parse(new 
URI(request.getRequestLine().getUri()), HttpUtils.UTF_8);
             } catch (final URISyntaxException e) {
-                logger.error("Error parsing url request", e);
+                s_logger.error("Error parsing url request", e);
             }
 
             // Use Multimap as the parameter map should be in the form 
(name=String, value=String[])
@@ -441,10 +442,11 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
                 sb.append(" " + se.getErrorCode() + " " + se.getDescription());
             } catch (final RuntimeException e) {
                 // log runtime exception like NullPointerException to help 
identify the source easier
-                logger.error("Unhandled exception, ", e);
+                s_logger.error("Unhandled exception, ", e);
                 throw e;
             }
         } finally {
+            s_accessLogger.info(sb.toString());
             CallContext.unregister();
         }
     }
@@ -481,13 +483,13 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
         try {
             command = (String[])params.get("command");
             if (command == null) {
-                logger.error("invalid request, no command sent");
-                if (logger.isTraceEnabled()) {
-                    logger.trace("dumping request parameters");
+                s_logger.error("invalid request, no command sent");
+                if (s_logger.isTraceEnabled()) {
+                    s_logger.trace("dumping request parameters");
                     for (final  Object key : params.keySet()) {
                         final String keyStr = (String)key;
                         final String[] value = (String[])params.get(key);
-                        logger.trace("   key: " + keyStr + ", value: " + 
((value == null) ? "'null'" : value[0]));
+                        s_logger.trace("   key: " + keyStr + ", value: " + 
((value == null) ? "'null'" : value[0]));
                     }
                 }
                 throw new 
ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, "Invalid request, no 
command sent");
@@ -512,7 +514,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
                 if (cmdClass != null) {
                     APICommand annotation = 
cmdClass.getAnnotation(APICommand.class);
                     if (annotation == null) {
-                        logger.error("No APICommand annotation found for class 
" + cmdClass.getCanonicalName());
+                        s_logger.error("No APICommand annotation found for 
class " + cmdClass.getCanonicalName());
                         throw new CloudRuntimeException("No APICommand 
annotation found for class " + cmdClass.getCanonicalName());
                     }
 
@@ -534,16 +536,16 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
                         buildAuditTrail(auditTrailSb, command[0], response);
                 } else {
                     final String errorString = "Unknown API command: " + 
command[0];
-                    logger.warn(errorString);
+                    s_logger.warn(errorString);
                     auditTrailSb.append(" " + errorString);
                     throw new 
ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, errorString);
                 }
             }
         } catch (final InvalidParameterValueException ex) {
-            logger.info(ex.getMessage());
+            s_logger.info(ex.getMessage());
             throw new ServerApiException(ApiErrorCode.PARAM_ERROR, 
ex.getMessage(), ex);
         } catch (final IllegalArgumentException ex) {
-            logger.info(ex.getMessage());
+            s_logger.info(ex.getMessage());
             throw new ServerApiException(ApiErrorCode.PARAM_ERROR, 
ex.getMessage(), ex);
         } catch (final PermissionDeniedException ex) {
             final ArrayList<ExceptionProxyObject> idList = ex.getIdProxyList();
@@ -555,16 +557,16 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
                     buf.append(obj.getUuid());
                     buf.append(" ");
                 }
-                logger.info("PermissionDenied: " + ex.getMessage() + " on 
objs: [" + buf.toString() + "]");
+                s_logger.info("PermissionDenied: " + ex.getMessage() + " on 
objs: [" + buf.toString() + "]");
             } else {
-                logger.info("PermissionDenied: " + ex.getMessage());
+                s_logger.info("PermissionDenied: " + ex.getMessage());
             }
             throw new ServerApiException(ApiErrorCode.ACCOUNT_ERROR, 
ex.getMessage(), ex);
         } catch (final AccountLimitException ex) {
-            logger.info(ex.getMessage());
+            s_logger.info(ex.getMessage());
             throw new 
ServerApiException(ApiErrorCode.ACCOUNT_RESOURCE_LIMIT_ERROR, ex.getMessage(), 
ex);
         } catch (final InsufficientCapacityException ex) {
-            logger.info(ex.getMessage());
+            s_logger.info(ex.getMessage());
             String errorMsg = ex.getMessage();
             if 
(!_accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())) {
                 // hide internal details to non-admin user for security reason
@@ -572,10 +574,10 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             }
             throw new 
ServerApiException(ApiErrorCode.INSUFFICIENT_CAPACITY_ERROR, errorMsg, ex);
         } catch (final ResourceAllocationException ex) {
-            logger.info(ex.getMessage());
+            s_logger.info(ex.getMessage());
             throw new 
ServerApiException(ApiErrorCode.RESOURCE_ALLOCATION_ERROR, ex.getMessage(), ex);
         } catch (final ResourceUnavailableException ex) {
-            logger.info(ex.getMessage());
+            s_logger.info(ex.getMessage());
             String errorMsg = ex.getMessage();
             if 
(!_accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())) {
                 // hide internal details to non-admin user for security reason
@@ -583,10 +585,10 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             }
             throw new 
ServerApiException(ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR, errorMsg, ex);
         } catch (final ServerApiException ex) {
-            logger.info(ex.getDescription());
+            s_logger.info(ex.getDescription());
             throw ex;
         } catch (final Exception ex) {
-            logger.error("unhandled exception executing api command: " + 
((command == null) ? "null" : command), ex);
+            s_logger.error("unhandled exception executing api command: " + 
((command == null) ? "null" : command), ex);
             String errorMsg = ex.getMessage();
             if 
(!_accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())) {
                 // hide internal details to non-admin user for security reason
@@ -680,14 +682,14 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             AsyncJobVO job = new AsyncJobVO("", callerUserId, caller.getId(), 
cmdObj.getClass().getName(),
                     ApiGsonHelper.getBuilder().create().toJson(params), 
instanceId,
                     asyncCmd.getInstanceType() != null ? 
asyncCmd.getInstanceType().toString() : null,
-                            injectedJobId);
+                    injectedJobId);
             job.setDispatcher(_asyncDispatcher.getName());
 
             final long jobId = _asyncMgr.submitAsyncJob(job);
 
             if (jobId == 0L) {
                 final String errorMsg = "Unable to schedule async job for 
command " + job.getCmd();
-                logger.warn(errorMsg);
+                s_logger.warn(errorMsg);
                 throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, 
errorMsg);
             }
 
@@ -778,7 +780,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
 
             final String[] command = 
(String[])requestParameters.get(ApiConstants.COMMAND);
             if (command == null) {
-                logger.info("missing command, ignoring request...");
+                s_logger.info("missing command, ignoring request...");
                 return false;
             }
 
@@ -791,17 +793,17 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
                 try {
                     checkCommandAvailable(user, commandName);
                 } catch (final RequestLimitException ex) {
-                    logger.debug(ex.getMessage());
+                    s_logger.debug(ex.getMessage());
                     throw new 
ServerApiException(ApiErrorCode.API_LIMIT_EXCEED, ex.getMessage());
                 } catch (final PermissionDeniedException ex) {
-                    logger.debug("The given command:" + commandName + " does 
not exist or it is not available for user with id:" + userId);
+                    s_logger.debug("The given command:" + commandName + " does 
not exist or it is not available for user with id:" + userId);
                     throw new 
ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, "The given command 
does not exist or it is not available for user");
                 }
                 return true;
             } else {
                 // check against every available command to see if the command 
exists or not
                 if (!s_apiNameCmdClassMap.containsKey(commandName) && 
!commandName.equals("login") && !commandName.equals("logout")) {
-                    logger.debug("The given command:" + commandName + " does 
not exist or it is not available for user with id:" + userId);
+                    s_logger.debug("The given command:" + commandName + " does 
not exist or it is not available for user with id:" + userId);
                     throw new 
ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, "The given command 
does not exist or it is not available for user");
                 }
             }
@@ -844,7 +846,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
 
             // if api/secret key are passed to the parameters
             if ((signature == null) || (apiKey == null)) {
-                logger.debug("Expired session, missing signature, or missing 
apiKey -- ignoring request. Signature: " + signature + ", apiKey: " + apiKey);
+                s_logger.debug("Expired session, missing signature, or missing 
apiKey -- ignoring request. Signature: " + signature + ", apiKey: " + apiKey);
                 return false; // no signature, bad request
             }
 
@@ -853,20 +855,20 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             if ("3".equals(signatureVersion)) {
                 // New signature authentication. Check for expire parameter 
and its validity
                 if (expires == null) {
-                    logger.debug("Missing Expires parameter -- ignoring 
request. Signature: " + signature + ", apiKey: " + apiKey);
+                    s_logger.debug("Missing Expires parameter -- ignoring 
request. Signature: " + signature + ", apiKey: " + apiKey);
                     return false;
                 }
                 synchronized (DateFormatToUse) {
                     try {
                         expiresTS = DateFormatToUse.parse(expires);
                     } catch (final ParseException pe) {
-                        logger.debug("Incorrect date format for Expires 
parameter", pe);
+                        s_logger.debug("Incorrect date format for Expires 
parameter", pe);
                         return false;
                     }
                 }
                 final Date now = new Date(System.currentTimeMillis());
                 if (expiresTS.before(now)) {
-                    logger.debug("Request expired -- ignoring ...sig: " + 
signature + ", apiKey: " + apiKey);
+                    s_logger.debug("Request expired -- ignoring ...sig: " + 
signature + ", apiKey: " + apiKey);
                     return false;
                 }
             }
@@ -877,7 +879,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             // verify there is a user with this api key
             final Pair<User, Account> userAcctPair = 
_accountMgr.findUserByApiKey(apiKey);
             if (userAcctPair == null) {
-                logger.debug("apiKey does not map to a valid user -- ignoring 
request, apiKey: " + apiKey);
+                s_logger.debug("apiKey does not map to a valid user -- 
ignoring request, apiKey: " + apiKey);
                 return false;
             }
 
@@ -885,7 +887,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             final Account account = userAcctPair.second();
 
             if (user.getState() != Account.State.enabled || 
!account.getState().equals(Account.State.enabled)) {
-                logger.info("disabled or locked user accessing the api, userid 
= " + user.getId() + "; name = " + user.getUsername() + "; state: " + 
user.getState() +
+                s_logger.info("disabled or locked user accessing the api, 
userid = " + user.getId() + "; name = " + user.getUsername() + "; state: " + 
user.getState() +
                         "; accountState: " + account.getState());
                 return false;
             }
@@ -893,10 +895,10 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             try {
                 checkCommandAvailable(user, commandName);
             } catch (final RequestLimitException ex) {
-                logger.debug(ex.getMessage());
+                s_logger.debug(ex.getMessage());
                 throw new ServerApiException(ApiErrorCode.API_LIMIT_EXCEED, 
ex.getMessage());
             } catch (final PermissionDeniedException ex) {
-                logger.debug("The given command:" + commandName + " does not 
exist or it is not available for user");
+                s_logger.debug("The given command:" + commandName + " does not 
exist or it is not available for user");
                 throw new 
ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, "The given command:" 
+ commandName + " does not exist or it is not available for user with id:"
                         + userId);
             }
@@ -904,7 +906,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             // verify secret key exists
             secretKey = user.getSecretKey();
             if (secretKey == null) {
-                logger.info("User does not have a secret key associated with 
the account -- ignoring request, username: " + user.getUsername());
+                s_logger.info("User does not have a secret key associated with 
the account -- ignoring request, username: " + user.getUsername());
                 return false;
             }
 
@@ -920,7 +922,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             final boolean equalSig = 
ConstantTimeComparator.compareStrings(signature, computedSignature);
 
             if (!equalSig) {
-                logger.info("User signature: " + signature + " is not equaled 
to computed signature: " + computedSignature);
+                s_logger.info("User signature: " + signature + " is not 
equaled to computed signature: " + computedSignature);
             } else {
                 CallContext.register(user, account);
             }
@@ -928,7 +930,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
         } catch (final ServerApiException ex) {
             throw ex;
         } catch (final Exception ex) {
-            logger.error("unable to verify request signature");
+            s_logger.error("unable to verify request signature");
         }
         return false;
     }
@@ -1016,13 +1018,13 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             float offsetInHrs = 0f;
             if (timezone != null) {
                 final TimeZone t = TimeZone.getTimeZone(timezone);
-                logger.info("Current user logged in under " + timezone + " 
timezone");
+                s_logger.info("Current user logged in under " + timezone + " 
timezone");
 
                 final java.util.Date date = new java.util.Date();
                 final long longDate = date.getTime();
                 final float offsetInMs = (t.getOffset(longDate));
                 offsetInHrs = offsetInMs / (1000 * 60 * 60);
-                logger.info("Timezone offset from UTC is: " + offsetInHrs);
+                s_logger.info("Timezone offset from UTC is: " + offsetInHrs);
             }
 
             final Account account = 
_accountMgr.getAccount(userAcct.getAccountId());
@@ -1084,7 +1086,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
 
         if ((user == null) || (user.getRemoved() != null) || 
!user.getState().equals(Account.State.enabled) || (account == null) ||
                 !account.getState().equals(Account.State.enabled)) {
-            logger.warn("Deleted/Disabled/Locked user with id=" + userId + " 
attempting to access public API");
+            s_logger.warn("Deleted/Disabled/Locked user with id=" + userId + " 
attempting to access public API");
             return false;
         }
         return true;
@@ -1155,7 +1157,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             }
             resp.setEntity(body);
         } catch (final Exception ex) {
-            logger.error("error!", ex);
+            s_logger.error("error!", ex);
         }
     }
 
@@ -1164,7 +1166,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
     // we have to cite a license if we are using this code directly, so we 
need to add the appropriate citation or
     // modify the
     // code to be very specific to our needs
-    class ListenerThread extends Thread {
+    static class ListenerThread extends Thread {
         private HttpService _httpService = null;
         private ServerSocket _serverSocket = null;
         private HttpParams _params = null;
@@ -1173,16 +1175,16 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             try {
                 _serverSocket = new ServerSocket(port);
             } catch (final IOException ioex) {
-                logger.error("error initializing api server", ioex);
+                s_logger.error("error initializing api server", ioex);
                 return;
             }
 
             _params = new BasicHttpParams();
             _params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 30000)
-            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
-            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, 
false)
-            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true)
-            .setParameter(CoreProtocolPNames.ORIGIN_SERVER, 
"HttpComponents/1.1");
+                    .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 
8 * 1024)
+                    
.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
+                    .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, 
true)
+                    .setParameter(CoreProtocolPNames.ORIGIN_SERVER, 
"HttpComponents/1.1");
 
             // Set up the HTTP protocol processor
             final BasicHttpProcessor httpproc = new BasicHttpProcessor();
@@ -1203,7 +1205,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
 
         @Override
         public void run() {
-            logger.info("ApiServer listening on port " + 
_serverSocket.getLocalPort());
+            s_logger.info("ApiServer listening on port " + 
_serverSocket.getLocalPort());
             while (!Thread.interrupted()) {
                 try {
                     // Set up HTTP connection
@@ -1216,14 +1218,14 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
                 } catch (final InterruptedIOException ex) {
                     break;
                 } catch (final IOException e) {
-                    logger.error("I/O error initializing connection thread", 
e);
+                    s_logger.error("I/O error initializing connection thread", 
e);
                     break;
                 }
             }
         }
     }
 
-    class WorkerTask extends ManagedContextRunnable {
+    static class WorkerTask extends ManagedContextRunnable {
         private final HttpService _httpService;
         private final HttpServerConnection _conn;
 
@@ -1241,15 +1243,15 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
                     _conn.close();
                 }
             } catch (final ConnectionClosedException ex) {
-                if (logger.isTraceEnabled()) {
-                    logger.trace("ApiServer:  Client closed connection");
+                if (s_logger.isTraceEnabled()) {
+                    s_logger.trace("ApiServer:  Client closed connection");
                 }
             } catch (final IOException ex) {
-                if (logger.isTraceEnabled()) {
-                    logger.trace("ApiServer:  IOException - " + ex);
+                if (s_logger.isTraceEnabled()) {
+                    s_logger.trace("ApiServer:  IOException - " + ex);
                 }
             } catch (final HttpException ex) {
-                logger.warn("ApiServer:  Unrecoverable HTTP protocol 
violation" + ex);
+                s_logger.warn("ApiServer:  Unrecoverable HTTP protocol 
violation" + ex);
             } finally {
                 try {
                     _conn.shutdown();
@@ -1289,7 +1291,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             responseText = 
ApiResponseSerializer.toSerializedString(apiResponse, responseType);
 
         } catch (final Exception e) {
-            logger.error("Exception responding to http request", e);
+            s_logger.error("Exception responding to http request", e);
         }
         return responseText;
     }
@@ -1339,7 +1341,7 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
             responseText = 
ApiResponseSerializer.toSerializedString(apiResponse, responseType);
 
         } catch (final Exception e) {
-            logger.error("Exception responding to http request", e);
+            s_logger.error("Exception responding to http request", e);
         }
         return responseText;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java 
b/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java
index 4016ffc..28a9c0f 100644
--- a/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java
+++ b/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java
@@ -23,6 +23,7 @@ import java.util.concurrent.ConcurrentHashMap;
 
 import javax.ejb.Local;
 
+import org.apache.log4j.Logger;
 
 import org.apache.cloudstack.api.APICommand;
 import org.apache.cloudstack.api.auth.APIAuthenticationManager;
@@ -35,6 +36,7 @@ import com.cloud.utils.component.ManagerBase;
 @Local(value = APIAuthenticationManager.class)
 @SuppressWarnings("unchecked")
 public class APIAuthenticationManagerImpl extends ManagerBase implements 
APIAuthenticationManager {
+    public static final Logger s_logger = 
Logger.getLogger(APIAuthenticationManagerImpl.class.getName());
 
     private List<PluggableAPIAuthenticator> _apiAuthenticators;
 
@@ -82,7 +84,7 @@ public class APIAuthenticationManagerImpl extends ManagerBase 
implements APIAuth
             if (commands != null) {
                 cmdList.addAll(commands);
             } else {
-                logger.warn("API Authenticator returned null api commands:" + 
apiAuthenticator.getName());
+                s_logger.warn("API Authenticator returned null api commands:" 
+ apiAuthenticator.getName());
             }
         }
         return cmdList;
@@ -98,8 +100,8 @@ public class APIAuthenticationManagerImpl extends 
ManagerBase implements APIAuth
                 apiAuthenticator = ComponentContext.inject(apiAuthenticator);
                 apiAuthenticator.setAuthenticators(_apiAuthenticators);
             } catch (InstantiationException | IllegalAccessException e) {
-                if (logger.isDebugEnabled()) {
-                    
logger.debug("APIAuthenticationManagerImpl::getAPIAuthenticator failed: " + 
e.getMessage());
+                if (s_logger.isDebugEnabled()) {
+                    
s_logger.debug("APIAuthenticationManagerImpl::getAPIAuthenticator failed: " + 
e.getMessage());
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/QueryManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java 
b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 7aa46d1..6994b27 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -107,6 +107,7 @@ import org.apache.cloudstack.framework.config.ConfigKey;
 import org.apache.cloudstack.framework.config.Configurable;
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.cloudstack.query.QueryService;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import com.cloud.api.query.dao.AccountJoinDao;
@@ -226,6 +227,7 @@ import com.cloud.vm.dao.UserVmDetailsDao;
 @Local(value = {QueryService.class})
 public class QueryManagerImpl extends ManagerBase implements QueryService, 
Configurable {
 
+    public static final Logger s_logger = 
Logger.getLogger(QueryManagerImpl.class);
 
     @Inject
     private AccountManager _accountMgr;
@@ -1563,10 +1565,10 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService, Confi
         // FIXME: do we need to support list hosts with VmId, maybe we should
         // create another command just for this
         // Right now it is handled separately outside this QueryService
-        logger.debug(">>>Searching for hosts>>>");
+        s_logger.debug(">>>Searching for hosts>>>");
         Pair<List<HostJoinVO>, Integer> hosts = searchForServersInternal(cmd);
         ListResponse<HostResponse> response = new ListResponse<HostResponse>();
-        logger.debug(">>>Generating Response>>>");
+        s_logger.debug(">>>Generating Response>>>");
         List<HostResponse> hostResponses = 
ViewResponseHelper.createHostResponse(cmd.getDetails(), 
hosts.first().toArray(new HostJoinVO[hosts.first().size()]));
         response.setResponses(hostResponses, hosts.second());
         return response;
@@ -2560,7 +2562,7 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService, Confi
                 domainIds = new ArrayList<Long>();
                 DomainVO domainRecord = 
_domainDao.findById(account.getDomainId());
                 if ( domainRecord == null ){
-                    logger.error("Could not find the domainId for account:" + 
account.getAccountName());
+                    s_logger.error("Could not find the domainId for account:" 
+ account.getAccountName());
                     throw new CloudAuthenticationException("Could not find the 
domainId for account:" + account.getAccountName());
                 }
                 domainIds.add(domainRecord.getId());
@@ -2731,13 +2733,13 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService, Confi
                     UserVmVO vmInstance = _userVmDao.findById(vmId);
                     domainRecord = 
_domainDao.findById(vmInstance.getDomainId());
                     if ( domainRecord == null ){
-                        logger.error("Could not find the domainId for vmId:" + 
vmId);
+                        s_logger.error("Could not find the domainId for vmId:" 
+ vmId);
                         throw new CloudAuthenticationException("Could not find 
the domainId for vmId:" + vmId);
                     }
                 } else {
                     domainRecord = _domainDao.findById(caller.getDomainId());
                     if ( domainRecord == null ){
-                        logger.error("Could not find the domainId for 
account:" + caller.getAccountName());
+                        s_logger.error("Could not find the domainId for 
account:" + caller.getAccountName());
                         throw new CloudAuthenticationException("Could not find 
the domainId for account:" + caller.getAccountName());
                     }
                 }
@@ -2883,7 +2885,7 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService, Confi
                 List<Long> domainIds = new ArrayList<Long>();
                 DomainVO domainRecord = 
_domainDao.findById(account.getDomainId());
                 if (domainRecord == null) {
-                    logger.error("Could not find the domainId for account:" + 
account.getAccountName());
+                    s_logger.error("Could not find the domainId for account:" 
+ account.getAccountName());
                     throw new CloudAuthenticationException("Could not find the 
domainId for account:" + account.getAccountName());
                 }
                 domainIds.add(domainRecord.getId());
@@ -2924,7 +2926,7 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService, Confi
                 List<Long> domainIds = new ArrayList<Long>();
                 DomainVO domainRecord = 
_domainDao.findById(account.getDomainId());
                 if (domainRecord == null) {
-                    logger.error("Could not find the domainId for account:" + 
account.getAccountName());
+                    s_logger.error("Could not find the domainId for account:" 
+ account.getAccountName());
                     throw new CloudAuthenticationException("Could not find the 
domainId for account:" + account.getAccountName());
                 }
                 domainIds.add(domainRecord.getId());
@@ -3116,14 +3118,14 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService, Confi
                 throw new InvalidParameterValueException("Please specify a 
valid template ID.");
             }// If ISO requested then it should be ISO.
             if (isIso && template.getFormat() != ImageFormat.ISO) {
-                logger.error("Template Id " + templateId + " is not an ISO");
+                s_logger.error("Template Id " + templateId + " is not an ISO");
                 InvalidParameterValueException ex = new 
InvalidParameterValueException(
                         "Specified Template Id is not an ISO");
                 ex.addProxyObject(template.getUuid(), "templateId");
                 throw ex;
             }// If ISO not requested then it shouldn't be an ISO.
             if (!isIso && template.getFormat() == ImageFormat.ISO) {
-                logger.error("Incorrect format of the template id " + 
templateId);
+                s_logger.error("Incorrect format of the template id " + 
templateId);
                 InvalidParameterValueException ex = new 
InvalidParameterValueException("Incorrect format "
                         + template.getFormat() + " of the specified template 
id");
                 ex.addProxyObject(template.getUuid(), "templateId");

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java
index 4d5d9f7..fadaed5 100644
--- a/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java
@@ -21,6 +21,7 @@ import java.util.List;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.ResponseObject.ResponseView;
@@ -42,6 +43,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {AccountJoinDao.class})
 public class AccountJoinDaoImpl extends GenericDaoBase<AccountJoinVO, Long> 
implements AccountJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(AccountJoinDaoImpl.class);
 
     private final SearchBuilder<AccountJoinVO> acctIdSearch;
     @Inject

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java
index f1a6a72..cdd389c 100644
--- a/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java
@@ -22,6 +22,7 @@ import java.util.List;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 
 import org.apache.cloudstack.affinity.AffinityGroup;
 import org.apache.cloudstack.affinity.AffinityGroupResponse;
@@ -35,6 +36,7 @@ import com.cloud.utils.db.SearchCriteria;
 
 @Local(value = {AffinityGroupJoinDao.class})
 public class AffinityGroupJoinDaoImpl extends 
GenericDaoBase<AffinityGroupJoinVO, Long> implements AffinityGroupJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(AffinityGroupJoinDaoImpl.class);
 
     @Inject
     private ConfigurationDao _configDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java
index b9f6db5..a4cdb67 100644
--- a/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java
@@ -21,6 +21,7 @@ import java.util.List;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.ResponseObject.ResponseView;
@@ -41,6 +42,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {DataCenterJoinDao.class})
 public class DataCenterJoinDaoImpl extends GenericDaoBase<DataCenterJoinVO, 
Long> implements DataCenterJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(DataCenterJoinDaoImpl.class);
 
     private SearchBuilder<DataCenterJoinVO> dofIdSearch;
     @Inject

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java
index 7dea3f7..a99f19d 100644
--- a/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java
@@ -20,6 +20,7 @@ import java.util.List;
 
 import javax.ejb.Local;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.response.DiskOfferingResponse;
@@ -35,6 +36,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {DiskOfferingJoinDao.class})
 public class DiskOfferingJoinDaoImpl extends 
GenericDaoBase<DiskOfferingJoinVO, Long> implements DiskOfferingJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(DiskOfferingJoinDaoImpl.class);
 
     private final SearchBuilder<DiskOfferingJoinVO> dofIdSearch;
     private final Attribute _typeAttr;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java
index b1917dd..220f8b6 100644
--- a/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java
@@ -23,6 +23,7 @@ import javax.ejb.Local;
 import org.apache.cloudstack.api.ResponseObject.ResponseView;
 import org.apache.cloudstack.api.response.DomainResponse;
 import org.apache.cloudstack.api.response.ResourceLimitAndCountResponse;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import com.cloud.api.ApiDBUtils;
@@ -36,6 +37,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value={DomainJoinDao.class})
 public class DomainJoinDaoImpl extends GenericDaoBase<DomainJoinVO, Long> 
implements DomainJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(DomainJoinDaoImpl.class);
 
     private SearchBuilder<DomainJoinVO> domainIdSearch;
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
index 4f66a6b..6f7ef43 100644
--- a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
@@ -26,6 +26,7 @@ import 
org.apache.cloudstack.api.response.DomainRouterResponse;
 import org.apache.cloudstack.api.response.NicResponse;
 import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import com.cloud.api.ApiResponseHelper;
@@ -43,6 +44,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {DomainRouterJoinDao.class})
 public class DomainRouterJoinDaoImpl extends 
GenericDaoBase<DomainRouterJoinVO, Long> implements DomainRouterJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(DomainRouterJoinDaoImpl.class);
 
     @Inject
     private ConfigurationDao  _configDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java
index bfebc92..dca4de1 100644
--- a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java
@@ -28,6 +28,7 @@ import java.util.Set;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.ApiConstants.HostDetails;
@@ -54,6 +55,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {HostJoinDao.class})
 public class HostJoinDaoImpl extends GenericDaoBase<HostJoinVO, Long> 
implements HostJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(HostJoinDaoImpl.class);
 
     @Inject
     private ConfigurationDao _configDao;
@@ -195,7 +197,7 @@ public class HostJoinDaoImpl extends 
GenericDaoBase<HostJoinVO, Long> implements
                     hostVoDetails = h.getDetails();
                     hostResponse.setDetails(hostVoDetails);
                 } catch (Exception e) {
-                    logger.debug("failed to get host details", e);
+                    s_logger.debug("failed to get host details", e);
                 }
             }
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java 
b/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java
index 1043802..d73deb5 100644
--- a/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java
@@ -24,6 +24,7 @@ import javax.inject.Inject;
 
 import org.apache.cloudstack.api.response.HostTagResponse;
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import com.cloud.api.query.vo.HostTagVO;
@@ -34,6 +35,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {HostTagDao.class})
 public class HostTagDaoImpl extends GenericDaoBase<HostTagVO, Long> implements 
HostTagDao {
+    public static final Logger s_logger = 
Logger.getLogger(HostTagDaoImpl.class);
 
     @Inject
     private ConfigurationDao _configDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java
index b76a3ae..b1e5025 100644
--- a/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java
@@ -22,6 +22,7 @@ import java.util.List;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.ApiConstants;
@@ -39,6 +40,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {ImageStoreJoinDao.class})
 public class ImageStoreJoinDaoImpl extends GenericDaoBase<ImageStoreJoinVO, 
Long> implements ImageStoreJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(ImageStoreJoinDaoImpl.class);
 
     @Inject
     private ConfigurationDao _configDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java
index 1766451..3a580a4 100644
--- a/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java
@@ -20,6 +20,7 @@ import java.util.List;
 
 import javax.ejb.Local;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.response.InstanceGroupResponse;
@@ -34,6 +35,7 @@ import com.cloud.vm.InstanceGroup;
 @Component
 @Local(value = {InstanceGroupJoinDao.class})
 public class InstanceGroupJoinDaoImpl extends 
GenericDaoBase<InstanceGroupJoinVO, Long> implements InstanceGroupJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(InstanceGroupJoinDaoImpl.class);
 
     private SearchBuilder<InstanceGroupJoinVO> vrIdSearch;
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java
index 44096c3..676a995 100644
--- a/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java
@@ -20,6 +20,7 @@ import java.util.List;
 
 import javax.ejb.Local;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.response.ProjectAccountResponse;
@@ -33,6 +34,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {ProjectAccountJoinDao.class})
 public class ProjectAccountJoinDaoImpl extends 
GenericDaoBase<ProjectAccountJoinVO, Long> implements ProjectAccountJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(ProjectAccountJoinDaoImpl.class);
 
     private SearchBuilder<ProjectAccountJoinVO> paIdSearch;
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java
index 175273c..864fcf8 100644
--- a/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java
@@ -20,6 +20,7 @@ import java.util.List;
 
 import javax.ejb.Local;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.response.ProjectInvitationResponse;
@@ -33,6 +34,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {ProjectInvitationJoinDao.class})
 public class ProjectInvitationJoinDaoImpl extends 
GenericDaoBase<ProjectInvitationJoinVO, Long> implements 
ProjectInvitationJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(ProjectInvitationJoinDaoImpl.class);
 
     private SearchBuilder<ProjectInvitationJoinVO> piIdSearch;
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java
index 829fcb9..6964877 100644
--- a/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java
@@ -22,6 +22,7 @@ import java.util.List;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.response.ProjectResponse;
@@ -41,6 +42,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {ProjectJoinDao.class})
 public class ProjectJoinDaoImpl extends GenericDaoBase<ProjectJoinVO, Long> 
implements ProjectJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(ProjectJoinDaoImpl.class);
 
     @Inject
     private ConfigurationDao _configDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java
index 272043a..ff04c5b 100644
--- a/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java
@@ -22,6 +22,7 @@ import java.util.List;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 import org.apache.cloudstack.api.response.StoragePoolResponse;
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
@@ -39,6 +40,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {StoragePoolJoinDao.class})
 public class StoragePoolJoinDaoImpl extends GenericDaoBase<StoragePoolJoinVO, 
Long> implements StoragePoolJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(StoragePoolJoinDaoImpl.class);
 
     @Inject
     private ConfigurationDao _configDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java 
b/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java
index 3f1cb33..d1511f2 100644
--- a/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java
@@ -24,6 +24,7 @@ import javax.inject.Inject;
 
 import org.apache.cloudstack.api.response.StorageTagResponse;
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import com.cloud.api.query.vo.StorageTagVO;
@@ -34,6 +35,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {StorageTagDao.class})
 public class StorageTagDaoImpl extends GenericDaoBase<StorageTagVO, Long> 
implements StorageTagDao {
+    public static final Logger s_logger = 
Logger.getLogger(StorageTagDaoImpl.class);
 
     @Inject
     private ConfigurationDao _configDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
index c568bef..15cefa5 100644
--- a/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
@@ -24,6 +24,7 @@ import java.util.Map;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.ResponseObject.ResponseView;
@@ -55,6 +56,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Local(value = {TemplateJoinDao.class})
 public class TemplateJoinDaoImpl extends GenericDaoBase<TemplateJoinVO, Long> 
implements TemplateJoinDao {
 
+    public static final Logger s_logger = 
Logger.getLogger(TemplateJoinDaoImpl.class);
 
     @Inject
     private ConfigurationDao  _configDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java
index 2a65daa..923a238 100644
--- a/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java
@@ -20,6 +20,7 @@ import java.util.List;
 
 import javax.ejb.Local;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.api.response.UserResponse;
@@ -34,6 +35,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {UserAccountJoinDao.class})
 public class UserAccountJoinDaoImpl extends GenericDaoBase<UserAccountJoinVO, 
Long> implements UserAccountJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(UserAccountJoinDaoImpl.class);
 
     private SearchBuilder<UserAccountJoinVO> vrIdSearch;
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
index 6520f5f..9d88334 100644
--- a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
@@ -28,6 +28,7 @@ import java.util.Set;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import org.apache.cloudstack.affinity.AffinityGroupResponse;
@@ -63,6 +64,7 @@ import com.cloud.vm.dao.UserVmDetailsDao;
 @Component
 @Local(value = {UserVmJoinDao.class})
 public class UserVmJoinDaoImpl extends GenericDaoBase<UserVmJoinVO, Long> 
implements UserVmJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(UserVmJoinDaoImpl.class);
 
     @Inject
     private ConfigurationDao  _configDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java
index c5eb6a9..68a578f 100644
--- a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java
@@ -25,6 +25,7 @@ import javax.inject.Inject;
 import org.apache.cloudstack.api.ResponseObject.ResponseView;
 import org.apache.cloudstack.api.response.VolumeResponse;
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
 import com.cloud.api.ApiDBUtils;
@@ -44,6 +45,7 @@ import com.cloud.utils.db.SearchCriteria;
 @Component
 @Local(value = {VolumeJoinDao.class})
 public class VolumeJoinDaoImpl extends GenericDaoBase<VolumeJoinVO, Long> 
implements VolumeJoinDao {
+    public static final Logger s_logger = 
Logger.getLogger(VolumeJoinDaoImpl.class);
 
     @Inject
     private ConfigurationDao  _configDao;

Reply via email to