You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2022/01/17 19:49:10 UTC

[ranger] branch master updated: RANGER-3498: removed log4j-1.x dependency, replaced references to org.apache.log4j and org.apache.commons.logging with org.slf4j

This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new 7180910  RANGER-3498: removed log4j-1.x dependency, replaced references to org.apache.log4j and org.apache.commons.logging with org.slf4j
7180910 is described below

commit 71809108fd106b664b6f9d53e0efd86d4c5cd039
Author: Madhan Neethiraj <ma...@apache.org>
AuthorDate: Mon Jan 17 10:16:40 2022 -0800

    RANGER-3498: removed log4j-1.x dependency, replaced references to org.apache.log4j and org.apache.commons.logging with org.slf4j
---
 agents-audit/pom.xml                               |  37 +++++--
 .../AmazonCloudWatchAuditDestination.java          |   6 +-
 .../ranger/audit/destination/AuditDestination.java |   6 +-
 .../destination/ElasticSearchAuditDestination.java |   8 +-
 .../audit/destination/FileAuditDestination.java    |   8 +-
 .../audit/destination/HDFSAuditDestination.java    |   8 +-
 .../audit/destination/Log4JAuditDestination.java   |  12 +--
 .../audit/destination/SolrAuditDestination.java    |  12 +--
 .../ranger/audit/provider/AsyncAuditProvider.java  |   6 +-
 .../audit/provider/AuditFileCacheProvider.java     |   6 +-
 .../audit/provider/AuditProviderFactory.java       |  16 +--
 .../ranger/audit/provider/AuditWriterFactory.java  |   6 +-
 .../ranger/audit/provider/BaseAuditHandler.java    |   6 +-
 .../ranger/audit/provider/Log4jAuditProvider.java  |   8 +-
 .../apache/ranger/audit/provider/Log4jTracer.java  |   6 +-
 .../org/apache/ranger/audit/provider/MiscUtil.java |  25 +++--
 .../audit/provider/MultiDestAuditProvider.java     |   8 +-
 .../provider/StandAloneAuditProviderFactory.java   |   6 +-
 .../audit/provider/hdfs/HdfsAuditProvider.java     |   6 +-
 .../audit/provider/kafka/KafkaAuditProvider.java   |   8 +-
 .../audit/provider/solr/SolrAuditProvider.java     |  10 +-
 .../apache/ranger/audit/queue/AuditAsyncQueue.java |  10 +-
 .../apache/ranger/audit/queue/AuditBatchQueue.java |  10 +-
 .../audit/queue/AuditFileCacheProviderSpool.java   |  20 ++--
 .../apache/ranger/audit/queue/AuditFileQueue.java  |   6 +-
 .../ranger/audit/queue/AuditFileQueueSpool.java    |  20 ++--
 .../apache/ranger/audit/queue/AuditFileSpool.java  |  20 ++--
 .../org/apache/ranger/audit/queue/AuditQueue.java  |   8 +-
 .../ranger/audit/queue/AuditSummaryQueue.java      |  12 +--
 .../org/apache/ranger/audit/test/TestEvents.java   |   9 +-
 .../audit/utils/AbstractRangerAuditWriter.java     |   8 +-
 .../apache/ranger/audit/utils/KerberosAction.java  |   6 +-
 .../org/apache/ranger/audit/utils/ORCFileUtil.java |   6 +-
 .../ranger/audit/utils/RangerJSONAuditWriter.java  |   6 +-
 .../ranger/audit/utils/RangerORCAuditWriter.java   |   6 +-
 agents-common/conf/log4j.properties                |  33 ------
 agents-common/conf/logback.xml                     |  32 ++++++
 agents-common/pom.xml                              |  20 ++--
 .../apache/hadoop/security/SecureClientLogin.java  |   6 +-
 .../ranger/admin/client/RangerAdminRESTClient.java |   6 +-
 .../ranger/admin/client/datatype/RESTResponse.java |   5 +-
 .../hadoop/config/RangerAdminConfig.java           |   5 +-
 .../hadoop/config/RangerAuditConfig.java           |   5 +-
 .../hadoop/config/RangerChainedPluginConfig.java   |   6 +-
 .../hadoop/config/RangerConfiguration.java         |   5 +-
 .../hadoop/config/RangerLegacyConfigBuilder.java   |   5 +-
 .../hadoop/config/RangerPluginConfig.java          |   7 +-
 .../ranger/authorization/utils/JsonUtils.java      |   6 +-
 .../plugin/audit/RangerDefaultAuditHandler.java    |   6 +-
 .../audit/RangerMultiResourceAuditHandler.java     |   6 +-
 .../apache/ranger/plugin/client/BaseClient.java    |   6 +-
 .../ranger/plugin/client/HadoopConfigHolder.java   |   6 +-
 .../RangerAccessedFromClusterCondition.java        |   6 +-
 .../RangerAccessedFromClusterTypeCondition.java    |   7 +-
 .../RangerAccessedNotFromClusterCondition.java     |   6 +-
 .../RangerAccessedNotFromClusterTypeCondition.java |   6 +-
 ...AnyOfExpectedTagsPresentConditionEvaluator.java |   6 +-
 .../RangerContextAttributeValueInCondition.java    |   6 +-
 .../RangerContextAttributeValueNotInCondition.java |   6 +-
 ...ngerHiveResourcesAccessedTogetherCondition.java |   6 +-
 ...rHiveResourcesNotAccessedTogetherCondition.java |   6 +-
 .../plugin/conditionevaluator/RangerIpMatcher.java |   6 +-
 ...oneOfExpectedTagsPresentConditionEvaluator.java |   6 +-
 .../RangerScriptConditionEvaluator.java            |   6 +-
 .../RangerScriptTemplateConditionEvaluator.java    |   6 +-
 .../RangerTagsAllPresentConditionEvaluator.java    |   6 +-
 .../conditionevaluator/RangerTimeOfDayMatcher.java |   6 +-
 .../RangerAbstractContextEnricher.java             |   6 +-
 .../RangerAbstractGeolocationProvider.java         |   6 +-
 .../contextenricher/RangerAdminTagRetriever.java   |   6 +-
 .../RangerAdminUserStoreRetriever.java             |   6 +-
 .../RangerFileBasedTagRetriever.java               |   6 +-
 .../plugin/contextenricher/RangerTagEnricher.java  |  16 +--
 .../plugin/contextenricher/RangerTagForEval.java   |   6 +-
 .../contextenricher/RangerUserStoreEnricher.java   |   8 +-
 .../contextenricher/RangerUserStoreRefresher.java  |  10 +-
 .../ranger/plugin/errors/ValidationErrorCode.java  |   6 +-
 .../ranger/plugin/geo/GeolocationMetadata.java     |   6 +-
 .../ranger/plugin/geo/RangerGeolocationData.java   |   6 +-
 .../plugin/geo/RangerGeolocationDatabase.java      |   6 +-
 .../org/apache/ranger/plugin/geo/ValuePrinter.java |   6 +-
 .../model/RangerPolicyResourceSignature.java       |   6 +-
 .../model/validation/RangerPolicyValidator.java    |   6 +-
 .../model/validation/RangerRoleValidator.java      |   6 +-
 .../validation/RangerSecurityZoneValidator.java    |   6 +-
 .../model/validation/RangerServiceDefHelper.java   |   6 +-
 .../validation/RangerServiceDefValidator.java      |   6 +-
 .../model/validation/RangerServiceValidator.java   |   6 +-
 .../plugin/model/validation/RangerValidator.java   |   6 +-
 .../RangerValidityScheduleValidator.java           |   6 +-
 .../validation/RangerZoneResourceMatcher.java      |   6 +-
 .../model/validation/ValidationFailureDetails.java |   6 +-
 .../ranger/plugin/policyengine/CacheMap.java       |   6 +-
 .../ranger/plugin/policyengine/PolicyEngine.java   |  10 +-
 .../policyengine/RangerAccessRequestImpl.java      |   5 +-
 .../plugin/policyengine/RangerPluginContext.java   |   6 +-
 .../policyengine/RangerPolicyEngineImpl.java       |  12 +--
 .../policyengine/RangerPolicyRepository.java       |  10 +-
 .../policyengine/RangerRequestScriptEvaluator.java |  33 ++----
 .../plugin/policyengine/RangerResourceTrie.java    |  12 +--
 .../RangerAbstractPolicyEvaluator.java             |   6 +-
 .../RangerAuditPolicyEvaluator.java                |   6 +-
 .../RangerCustomConditionEvaluator.java            |  12 +--
 .../RangerDefaultPolicyEvaluator.java              |  14 +--
 .../RangerDefaultPolicyItemEvaluator.java          |  10 +-
 .../RangerOptimizedPolicyEvaluator.java            |   6 +-
 .../RangerValidityScheduleEvaluator.java           |   8 +-
 .../RangerDefaultPolicyResourceMatcher.java        |  10 +-
 .../RangerAbstractResourceMatcher.java             |   6 +-
 .../RangerDefaultResourceMatcher.java              |   6 +-
 .../resourcematcher/RangerPathResourceMatcher.java |   6 +-
 .../resourcematcher/RangerURLResourceMatcher.java  |   6 +-
 .../plugin/resourcematcher/ResourceMatcher.java    |   6 +-
 .../ranger/plugin/service/RangerBasePlugin.java    |   6 +-
 .../ranger/plugin/service/RangerBaseService.java   |   6 +-
 .../ranger/plugin/service/RangerChainedPlugin.java |   6 +-
 .../service/RangerDefaultRequestProcessor.java     |   4 +-
 .../plugin/service/RangerDefaultService.java       |   6 +-
 .../ranger/plugin/store/AbstractServiceStore.java  |   6 +-
 .../plugin/store/EmbeddedServiceDefsUtil.java      |  10 +-
 .../plugin/store/file/GeolocationFileStore.java    |   6 +-
 .../apache/ranger/plugin/util/DownloaderTask.java  |   6 +-
 .../ranger/plugin/util/PerfDataRecorder.java       |   8 +-
 .../apache/ranger/plugin/util/PolicyRefresher.java |  10 +-
 .../plugin/util/RangerAccessRequestUtil.java       |   6 +-
 .../ranger/plugin/util/RangerMetricsUtil.java      |   5 +-
 .../plugin/util/RangerPerfCollectorTracer.java     |   4 +-
 .../ranger/plugin/util/RangerPerfTracer.java       |  20 ++--
 .../plugin/util/RangerPerfTracerFactory.java       |   4 +-
 .../ranger/plugin/util/RangerPolicyDeltaUtil.java  |   8 +-
 .../ranger/plugin/util/RangerRESTClient.java       |   8 +-
 .../apache/ranger/plugin/util/RangerRESTUtils.java |   6 +-
 .../plugin/util/RangerRequestExprResolver.java     |   6 +-
 .../ranger/plugin/util/RangerRolesProvider.java    |  10 +-
 .../plugin/util/RangerServiceTagsDeltaUtil.java    |   8 +-
 .../apache/ranger/plugin/util/RangerSslHelper.java |   6 +-
 .../ranger/plugin/util/ScriptEngineUtil.java       |   6 +-
 .../apache/ranger/plugin/util/ServicePolicies.java |   6 +-
 .../org/apache/ranger/plugin/util/XMLUtils.java    |   5 +-
 .../ranger/services/tag/RangerServiceTag.java      |   6 +-
 .../conditionevaluator/RangerSimpleMatcher.java    |   6 +-
 .../ranger/plugin/policyengine/TestCacheMap.java   |   6 +-
 .../plugin/policyengine/TestProjectProvider.java   |   6 +-
 agents-common/src/test/resources/log4j.xml         | 102 ------------------
 agents-common/src/test/resources/logback.xml       |  43 ++++++++
 agents-cred/pom.xml                                |  25 +++--
 .../hadoop/utils/RangerCredentialProvider.java     |   6 +-
 agents-cred/src/test/resources/log4j.properties    |  31 ------
 agents-cred/src/test/resources/logback.xml         |  32 ++++++
 credentialbuilder/pom.xml                          |  37 +++++--
 .../ranger/credentialapi/CredentialReader.java     |   2 +-
 .../scripts/ranger-admin-install.properties        |   2 +-
 distro/src/main/assembly/admin-web.xml             |  10 +-
 distro/src/main/assembly/hbase-agent.xml           |   2 +
 distro/src/main/assembly/hive-agent.xml            |   1 +
 distro/src/main/assembly/plugin-kafka.xml          |   2 +-
 distro/src/main/assembly/sample-client.xml         |   2 +-
 distro/src/main/assembly/tagsync.xml               |   6 +-
 distro/src/main/assembly/usersync.xml              |   6 +-
 embeddedwebserver/pom.xml                          |  11 +-
 embeddedwebserver/scripts/ranger-admin-services.sh |   4 +-
 .../ranger/server/tomcat/EmbeddedServer.java       |  11 --
 hbase-agent/pom.xml                                |  78 ++++++++++++++
 .../authorization/hbase/AuthorizationSession.java  |   6 +-
 .../ranger/authorization/hbase/ColumnIterator.java |   6 +-
 .../authorization/hbase/HbaseAuditHandlerImpl.java |   6 +-
 .../authorization/hbase/HbaseAuthUtilsImpl.java    |   6 +-
 .../authorization/hbase/HbaseUserUtilsImpl.java    |   6 +-
 .../hbase/RangerAuthorizationCoprocessor.java      |  10 +-
 .../hbase/RangerAuthorizationFilter.java           |   6 +-
 .../ranger/services/hbase/RangerServiceHBase.java  |   6 +-
 .../ranger/services/hbase/client/HBaseClient.java  |   6 +-
 .../services/hbase/client/HBaseConnectionMgr.java  |   5 +-
 .../services/hbase/client/HBaseResourceMgr.java    |   6 +-
 .../hbase/HBaseRangerAuthorizationTest.java        |   6 +-
 hbase-agent/src/test/resources/log4j.properties    |  35 -------
 hbase-agent/src/test/resources/logback.xml         |  32 ++++++
 hdfs-agent/pom.xml                                 |  35 ++++++-
 .../authorization/hadoop/RangerHdfsAuthorizer.java |  12 +--
 .../ranger/services/hdfs/RangerServiceHdfs.java    |   6 +-
 .../ranger/services/hdfs/client/HdfsClient.java    |   6 +-
 .../services/hdfs/client/HdfsConnectionMgr.java    |   5 +-
 .../services/hdfs/client/HdfsResourceMgr.java      |   5 +-
 hdfs-agent/src/test/resources/log4j.properties     |  34 ------
 hdfs-agent/src/test/resources/logback.xml          |  32 ++++++
 hive-agent/pom.xml                                 |  40 +++++++
 .../hive/authorizer/RangerHiveAuditHandler.java    |   6 +-
 .../hive/authorizer/RangerHiveAuthorizer.java      |   8 +-
 .../hive/authorizer/RangerHiveAuthorizerBase.java  |   6 +-
 .../hive/authorizer/RangerHivePolicyProvider.java  |   8 +-
 .../ranger/services/hive/RangerServiceHive.java    |   6 +-
 .../ranger/services/hive/client/HiveClient.java    |   6 +-
 .../services/hive/client/HiveConnectionMgr.java    |   5 +-
 .../services/hive/client/HiveResourceMgr.java      |   5 +-
 hive-agent/src/test/resources/log4j.properties     |  34 ------
 hive-agent/src/test/resources/logback.xml          |  32 ++++++
 intg/src/main/resources/log4j.properties           |  23 -----
 intg/src/main/resources/logback.xml                |  32 ++++++
 kms/config/kms-webapp/kms-log4j.properties         |  47 ---------
 kms/config/kms-webapp/kms-logback.xml              |  69 +++++++++++++
 kms/pom.xml                                        |  75 ++++++++++----
 kms/scripts/ranger-kms                             |   4 +-
 .../key/AzureKeyVaultClientAuthenticator.java      |   5 +-
 .../org/apache/hadoop/crypto/key/RangerHSM.java    |   5 +-
 .../org/apache/hadoop/crypto/key/RangerKMSDB.java  |   5 +-
 .../apache/hadoop/crypto/key/RangerKeyStore.java   |   5 +-
 .../hadoop/crypto/key/RangerKeyStoreProvider.java  |   5 +-
 .../crypto/key/RangerKeyVaultKeyGenerator.java     |   5 +-
 .../apache/hadoop/crypto/key/RangerMasterKey.java  |   5 +-
 .../hadoop/crypto/key/RangerSafenetKeySecure.java  |   5 +-
 .../crypto/key/kms/server/KMSMetricUtil.java       |   8 +-
 .../hadoop/crypto/key/kms/server/KMSWebApp.java    |  34 +-----
 .../java/org/apache/ranger/kms/dao/BaseDao.java    |   5 +-
 .../org/apache/ranger/kms/dao/DaoManagerBase.java  |   5 +-
 kms/src/main/resources/log4j.properties            |  31 ------
 kms/src/main/resources/logback.xml                 |  35 +++++++
 .../hadoop/crypto/key/kms/server/TestKMSAudit.java |  12 +--
 kms/src/test/resources/logback.xml                 |  29 ++++++
 knox-agent/pom.xml                                 |  50 +++++++++
 .../admin/client/RangerAdminJersey2RESTClient.java |   6 +-
 .../authorization/knox/RangerPDPKnoxFilter.java    |   8 +-
 .../ranger/services/knox/RangerServiceKnox.java    |   6 +-
 .../ranger/services/knox/client/KnoxClient.java    |   6 +-
 .../services/knox/client/KnoxConnectionMgr.java    |   5 +-
 .../services/knox/client/KnoxResourceMgr.java      |   5 +-
 knox-agent/src/test/resources/log4j.properties     |  31 ------
 knox-agent/src/test/resources/logback.xml          |  32 ++++++
 plugin-atlas/pom.xml                               |  10 ++
 .../atlas/authorizer/RangerAtlasAuthorizer.java    |   8 +-
 .../ranger/services/atlas/RangerServiceAtlas.java  |   6 +-
 plugin-atlas/src/test/resource/log4j.properties    |  34 ------
 plugin-atlas/src/test/resource/logback.xml         |  32 ++++++
 .../elasticsearch/client/ElasticsearchClient.java  |   5 +-
 .../client/ElasticsearchResourceMgr.java           |   5 +-
 plugin-kafka/pom.xml                               |  15 ++-
 .../kafka/authorizer/RangerKafkaAuditHandler.java  |   6 +-
 .../kafka/authorizer/RangerKafkaAuthorizer.java    |  14 +--
 .../ranger/services/kafka/RangerServiceKafka.java  |   6 +-
 .../services/kafka/client/ServiceKafkaClient.java  |   5 +-
 plugin-kafka/src/test/resources/log4j.properties   |  28 -----
 plugin-kafka/src/test/resources/logback.xml        |  32 ++++++
 .../kms/authorizer/RangerKmsAuthorizer.java        |   3 +-
 .../ranger/services/kms/RangerServiceKMS.java      |   6 +-
 .../ranger/services/kms/client/KMSClient.java      |   5 +-
 .../services/kms/client/KMSConnectionMgr.java      |   5 +-
 .../ranger/services/kms/client/KMSResourceMgr.java |   5 +-
 .../kms/authorizer/RangerKmsAuthorizerTest.java    |  29 +++---
 .../src/test/resources/kms/kms-log4j.properties    |  40 -------
 plugin-kms/src/test/resources/kms/logback.xml      |  56 ++++++++++
 plugin-kylin/pom.xml                               |   8 ++
 .../kylin/authorizer/RangerKylinAuthorizer.java    |   6 +-
 .../ranger/services/kylin/RangerServiceKylin.java  |   6 +-
 .../ranger/services/kylin/client/KylinClient.java  |   5 +-
 .../services/kylin/client/KylinResourceMgr.java    |   5 +-
 plugin-kylin/src/test/resources/log4j.properties   |  34 ------
 plugin-kylin/src/test/resources/logback.xml        |  32 ++++++
 .../nifi/registry/RangerServiceNiFiRegistry.java   |   6 +-
 .../nifi/registry/client/NiFiRegistryClient.java   |   6 +-
 .../registry/client/NiFiRegistryConnectionMgr.java |   6 +-
 .../src/test/resources/logback.xml                 |  32 ++++++
 .../ranger/services/nifi/RangerServiceNiFi.java    |   6 +-
 .../ranger/services/nifi/client/NiFiClient.java    |   6 +-
 .../services/nifi/client/NiFiConnectionMgr.java    |   6 +-
 plugin-nifi/src/test/resources/logback.xml         |  32 ++++++
 plugin-ozone/pom.xml                               |  14 +++
 .../ozone/authorizer/RangerOzoneAuthorizer.java    |  12 +--
 .../ranger/services/ozone/RangerServiceOzone.java  |   6 +-
 .../ranger/services/ozone/client/OzoneClient.java  |   6 +-
 .../services/ozone/client/OzoneConnectionMgr.java  |   5 +-
 .../services/ozone/client/OzoneResourceMgr.java    |   5 +-
 plugin-presto/pom.xml                              |  14 +++
 .../services/presto/RangerServicePresto.java       |   6 +-
 .../services/presto/client/PrestoClient.java       |   6 +-
 .../presto/client/PrestoConnectionManager.java     |   5 +-
 .../presto/client/PrestoResourceManager.java       |   6 +-
 plugin-presto/src/test/resources/log4j.properties  |  26 -----
 plugin-presto/src/test/resources/logback.xml       |  32 ++++++
 plugin-schema-registry/pom.xml                     |  40 ++++---
 .../registry/RangerServiceSchemaRegistry.java      |   6 +-
 .../registry/client/AutocompletionAgent.java       |   6 +-
 .../registry/client/SchemaRegistryResourceMgr.java |   6 +-
 .../connection/DefaultSchemaRegistryClient.java    |   6 +-
 .../client/connection/util/SecurityUtils.java      |   6 +-
 .../src/test/resources/logback.xml                 |  32 ++++++
 plugin-solr/pom.xml                                |   4 +
 .../solr/authorizer/RangerSolrAuthorizer.java      |  12 +--
 .../ranger/services/solr/RangerServiceSolr.java    |   6 +-
 .../services/solr/client/ServiceSolrClient.java    |   5 +-
 plugin-sqoop/pom.xml                               |  26 +++++
 .../sqoop/authorizer/RangerSqoopAuthorizer.java    |   6 +-
 .../ranger/services/sqoop/RangerServiceSqoop.java  |   6 +-
 .../ranger/services/sqoop/client/SqoopClient.java  |   5 +-
 .../services/sqoop/client/SqoopResourceMgr.java    |   5 +-
 plugin-sqoop/src/test/resources/log4j.properties   |  34 ------
 plugin-sqoop/src/test/resources/logback.xml        |  32 ++++++
 plugin-yarn/pom.xml                                |  18 +++-
 .../yarn/authorizer/RangerYarnAuthorizer.java      |  10 +-
 .../ranger/services/yarn/RangerServiceYarn.java    |   6 +-
 .../ranger/services/yarn/client/YarnClient.java    |   5 +-
 .../services/yarn/client/YarnResourceMgr.java      |   5 +-
 pom.xml                                            |   4 +-
 ranger-atlas-plugin-shim/pom.xml                   |  17 +--
 ranger-elasticsearch-plugin-shim/pom.xml           |   6 --
 .../RangerPolicyConditionSampleSimpleMatcher.java  |   6 +-
 .../RangerSampleSimpleMatcher.java                 |   6 +-
 .../RangerSampleCountryProvider.java               |   6 +-
 .../RangerSampleProjectProvider.java               |   6 +-
 .../src/test/resources/logback.xml                 |  32 ++++++
 .../distro/src/main/assembly/plugin-sampleapp.xml  |   1 -
 .../distro/src/main/assembly/sample-client.xml     |   3 +-
 ranger-examples/plugin-sampleapp/pom.xml           |  14 +++
 ranger-examples/sample-client/pom.xml              |   9 +-
 .../sample-client/scripts/run-sample-client.sh     |   4 +-
 .../src/main/resources/log4j.properties            |  23 -----
 .../sample-client/src/main/resources/logback.xml   |  32 ++++++
 ranger-examples/sampleapp/pom.xml                  |  12 +--
 .../ranger/examples/sampleapp/SampleApp.java       |   6 +-
 ranger-hbase-plugin-shim/pom.xml                   |  14 +++
 .../hbase/RangerAuthorizationCoprocessor.java      |   6 +-
 ranger-hdfs-plugin-shim/pom.xml                    |  27 ++++-
 .../authorization/hadoop/RangerHdfsAuthorizer.java |   6 +-
 ranger-hive-plugin-shim/pom.xml                    |  37 ++++++-
 .../authorizer/RangerHiveAuthorizerFactory.java    |   6 +-
 .../kafka/authorizer/RangerKafkaAuthorizer.java    |   5 +-
 .../kms/authorizer/RangerKmsAuthorizer.java        |   6 +-
 ranger-knox-plugin-shim/pom.xml                    |  10 ++
 .../authorization/knox/RangerPDPKnoxFilter.java    |   6 +-
 ranger-kylin-plugin-shim/pom.xml                   |   4 +
 .../kylin/authorizer/RangerKylinAuthorizer.java    |   6 +-
 ranger-ozone-plugin-shim/pom.xml                   |  14 +++
 .../ozone/authorizer/RangerOzoneAuthorizer.java    |   6 +-
 ranger-plugin-classloader/pom.xml                  |   9 +-
 .../classloader/RangerPluginClassLoaderUtil.java   |   3 -
 ranger-presto-plugin-shim/pom.xml                  |  23 +++++
 ranger-solr-plugin-shim/pom.xml                    |   4 +
 .../solr/authorizer/RangerSolrAuthorizer.java      |   8 +-
 ranger-sqoop-plugin-shim/pom.xml                   |  16 +++
 .../sqoop/authorizer/RangerSqoopAuthorizer.java    |   6 +-
 ranger-storm-plugin-shim/pom.xml                   |  38 +++++++
 ranger-tools/conf/log4j.properties                 |  42 --------
 ranger-tools/conf/logback.xml                      |  34 ++++++
 ranger-tools/pom.xml                               |   5 -
 .../ranger/policyengine/CommandLineParser.java     |   6 +-
 .../apache/ranger/policyengine/PerfTestClient.java |   6 +-
 .../apache/ranger/policyengine/PerfTestEngine.java |   6 +-
 .../policyengine/RangerPolicyenginePerfTester.java |   6 +-
 ranger-tools/src/test/resources/log4j.properties   |  52 ----------
 ranger-tools/src/test/resources/logback.xml        |  34 ++++++
 ranger-yarn-plugin-shim/pom.xml                    |  16 +++
 .../yarn/authorizer/RangerYarnAuthorizer.java      |   6 +-
 security-admin/pom.xml                             |  70 +++++++++++--
 security-admin/scripts/changepasswordutil.py       |   2 +-
 security-admin/scripts/changeusernameutil.py       |   2 +-
 security-admin/scripts/db_setup.py                 |  12 +--
 security-admin/scripts/rolebasedusersearchutil.py  |   4 +-
 security-admin/scripts/setup.sh                    |   2 +-
 .../scripts/updateUserAndGroupNamesInJson.py       |   2 +-
 .../cloudwatch/CloudWatchAccessAuditsService.java  |   5 +-
 .../ranger/amazon/cloudwatch/CloudWatchMgr.java    |   7 +-
 .../ranger/amazon/cloudwatch/CloudWatchUtil.java   |   5 +-
 .../main/java/org/apache/ranger/biz/AssetMgr.java  |   5 +-
 .../main/java/org/apache/ranger/biz/BaseMgr.java   |   5 +-
 .../main/java/org/apache/ranger/biz/KmsKeyMgr.java |   5 +-
 .../org/apache/ranger/biz/PolicyRefUpdater.java    |   6 +-
 .../java/org/apache/ranger/biz/RangerBizUtil.java  |   5 +-
 .../apache/ranger/biz/RangerPolicyAdminCache.java  |   6 +-
 .../apache/ranger/biz/RangerPolicyAdminImpl.java   |   8 +-
 .../apache/ranger/biz/RangerPolicyRetriever.java   |   8 +-
 .../apache/ranger/biz/RangerTagDBRetriever.java    |   8 +-
 .../java/org/apache/ranger/biz/RoleDBStore.java    |   6 +-
 .../java/org/apache/ranger/biz/RoleRefUpdater.java |   6 +-
 .../org/apache/ranger/biz/SecurityZoneDBStore.java |   6 +-
 .../java/org/apache/ranger/biz/ServiceDBStore.java |  10 +-
 .../java/org/apache/ranger/biz/ServiceMgr.java     |   6 +-
 .../java/org/apache/ranger/biz/SessionMgr.java     |   5 +-
 .../java/org/apache/ranger/biz/TagDBStore.java     |   8 +-
 .../main/java/org/apache/ranger/biz/UserMgr.java   |   7 +-
 .../main/java/org/apache/ranger/biz/XUserMgr.java  |   5 +-
 .../org/apache/ranger/common/PropertiesUtil.java   |   5 +-
 .../org/apache/ranger/common/RESTErrorUtil.java    |   5 +-
 .../ranger/common/RangerAdminTagEnricher.java      |   6 +-
 .../org/apache/ranger/common/RangerConfigUtil.java |   5 +-
 .../org/apache/ranger/common/RangerRoleCache.java  |   6 +-
 .../org/apache/ranger/common/RangerSearchUtil.java |   5 +-
 .../ranger/common/RangerServicePoliciesCache.java  |   6 +-
 .../ranger/common/RangerServiceTagsCache.java      |   6 +-
 .../apache/ranger/common/RangerUserStoreCache.java |   6 +-
 .../org/apache/ranger/common/SearchCriteria.java   |   5 +-
 .../java/org/apache/ranger/common/SearchUtil.java  |   5 +-
 .../java/org/apache/ranger/common/SearchValue.java |   5 +-
 .../java/org/apache/ranger/common/ServiceUtil.java |   5 +-
 .../java/org/apache/ranger/common/StringUtil.java  |   5 +-
 .../org/apache/ranger/common/TimedExecutor.java    |   5 +-
 .../java/org/apache/ranger/common/db/BaseDao.java  |   5 +-
 .../apache/ranger/common/db/JPABeanCallbacks.java  |   9 +-
 .../RangerTransactionSynchronizationAdapter.java   |   7 +-
 .../org/apache/ranger/db/RangerDaoManager.java     |   5 +-
 .../org/apache/ranger/db/XXAccessAuditDao.java     |   5 +-
 .../main/java/org/apache/ranger/db/XXAssetDao.java |   5 +-
 .../java/org/apache/ranger/db/XXAuditMapDao.java   |   5 +-
 .../org/apache/ranger/db/XXGlobalStateDao.java     |   5 +-
 .../org/apache/ranger/db/XXGroupPermissionDao.java |   5 +-
 .../java/org/apache/ranger/db/XXGroupUserDao.java  |   5 +-
 .../java/org/apache/ranger/db/XXPermMapDao.java    |   5 +-
 .../org/apache/ranger/db/XXPolicyChangeLogDao.java |   6 +-
 .../java/org/apache/ranger/db/XXResourceDao.java   |   5 +-
 .../apache/ranger/db/XXServiceVersionInfoDao.java  |   6 +-
 .../org/apache/ranger/db/XXTagChangeLogDao.java    |   6 +-
 .../java/org/apache/ranger/db/XXTrxLogDao.java     |   5 +-
 .../org/apache/ranger/db/XXUgsyncAuditInfoDao.java |   5 +-
 .../main/java/org/apache/ranger/db/XXUserDao.java  |   5 +-
 .../org/apache/ranger/db/XXUserPermissionDao.java  |   5 +-
 .../ElasticSearchAccessAuditsService.java          |   5 +-
 .../ranger/elasticsearch/ElasticSearchMgr.java     |   7 +-
 .../ranger/elasticsearch/ElasticSearchUtil.java    |   5 +-
 .../java/org/apache/ranger/patch/BaseLoader.java   |   5 +-
 ...ssignSecurityZonePersmissionToAdmin_J10026.java |   5 +-
 ...PatchAtlasForClassificationResource_J10047.java |   5 +-
 ...viceDefUpdateForDefaultAuditFilters_J10049.java |   5 +-
 ...efUpdateForResourceSpecificAccesses_J10012.java |   5 +-
 .../patch/PatchForAtlasAdminAudits_J10043.java     |   5 +-
 ...ForAtlasResourceAndAccessTypeUpdate_J10016.java |   5 +-
 .../PatchForAtlasServiceDefUpdate_J10013.java      |   5 +-
 ...ToAddEntityLabelAndBusinessMetadata_J10034.java |   5 +-
 .../patch/PatchForAtlasToAddTypeRead_J10040.java   |   5 +-
 .../patch/PatchForDefaultAuidtFilters_J10050.java  |   5 +-
 .../PatchForHBaseDefaultPolicyUpdate_J10045.java   |   5 +-
 .../PatchForHBaseServiceDefUpdate_J10035.java      |   5 +-
 .../patch/PatchForHiveServiceDefUpdate_J10006.java |   5 +-
 .../patch/PatchForHiveServiceDefUpdate_J10007.java |   5 +-
 .../patch/PatchForHiveServiceDefUpdate_J10009.java |   5 +-
 .../patch/PatchForHiveServiceDefUpdate_J10010.java |   5 +-
 .../patch/PatchForHiveServiceDefUpdate_J10017.java |   5 +-
 .../patch/PatchForHiveServiceDefUpdate_J10027.java |   5 +-
 .../patch/PatchForHiveServiceDefUpdate_J10030.java |   5 +-
 .../PatchForKafkaServiceDefUpdate_J10015.java      |   5 +-
 .../PatchForKafkaServiceDefUpdate_J10025.java      |   5 +-
 .../PatchForKafkaServiceDefUpdate_J10033.java      |   5 +-
 ...atchForMigratingOldRegimePolicyJson_J10046.java |   5 +-
 ...chForMigratingRangerServiceResource_J10037.java |   5 +-
 .../PatchForNifiResourceUpdateExclude_J10011.java  |   5 +-
 .../PatchForOzoneDefaultPoliciesUpdate_J10044.java |   5 +-
 ...PatchForOzoneServiceDefConfigUpdate_J10051.java |   5 +-
 .../PatchForOzoneServiceDefUpdate_J10041.java      |   5 +-
 .../PatchForPrestoToSupportPresto333_J10038.java   |   5 +-
 .../patch/PatchForServiceVersionInfo_J10004.java   |   5 +-
 .../patch/PatchForSyncSourceUpdate_J10054.java     |   5 +-
 .../patch/PatchForTagServiceDefUpdate_J10008.java  |   5 +-
 .../patch/PatchForTagServiceDefUpdate_J10028.java  |   5 +-
 .../patch/PatchForUpdatingPolicyJson_J10019.java   |  11 +-
 .../patch/PatchForUpdatingTagsJson_J10020.java     |   9 +-
 .../ranger/patch/PatchForXGlobalState_J10036.java  |   5 +-
 ...chGrantAuditPermissionToKeyRoleUser_J10014.java |   5 +-
 .../apache/ranger/patch/PatchMigration_J10002.java |   5 +-
 .../patch/PatchPasswordEncryption_J10001.java      |   5 +-
 .../ranger/patch/PatchPermissionModel_J10003.java  |   5 +-
 ...tchPreSql_057_ForUpdateToUniqueGUID_J10052.java |   5 +-
 ...ForUpdateToUniqueResoureceSignature_J10053.java |   5 +-
 .../patch/PatchTagModulePermission_J10005.java     |   7 +-
 .../ranger/patch/cliutil/ChangePasswordUtil.java   |   5 +-
 .../ranger/patch/cliutil/ChangeUserNameUtil.java   |   5 +-
 .../patch/cliutil/DbToSolrMigrationUtil.java       |  11 +-
 .../apache/ranger/patch/cliutil/MetricUtil.java    |   8 +-
 .../patch/cliutil/RoleBasedUserSearchUtil.java     |   5 +-
 .../cliutil/UpdateUserAndGroupNamesInJson.java     |  11 +-
 .../ranger/patch/cliutil/XXTrxLogUpdateUtil.java   |   5 +-
 .../java/org/apache/ranger/rest/AssetREST.java     |   5 +-
 .../java/org/apache/ranger/rest/MetricsREST.java   |   5 +-
 .../java/org/apache/ranger/rest/PublicAPIs.java    |   5 +-
 .../java/org/apache/ranger/rest/PublicAPIsv2.java  |   5 +-
 .../main/java/org/apache/ranger/rest/RoleREST.java |   6 +-
 .../org/apache/ranger/rest/SecurityZoneREST.java   |   6 +-
 .../java/org/apache/ranger/rest/ServiceREST.java   |   8 +-
 .../org/apache/ranger/rest/ServiceRESTUtil.java    |   6 +-
 .../apache/ranger/rest/ServiceTagsProcessor.java   |   8 +-
 .../main/java/org/apache/ranger/rest/TagREST.java  |   6 +-
 .../main/java/org/apache/ranger/rest/UserREST.java |   5 +-
 .../main/java/org/apache/ranger/rest/XKeyREST.java |   5 +-
 .../java/org/apache/ranger/rest/XUserREST.java     |   5 +-
 .../context/RangerPreAuthSecurityHandler.java      |   5 +-
 .../handler/RangerAuthenticationProvider.java      |   5 +-
 .../handler/RangerDomainObjectSecurityHandler.java |   5 +-
 .../security/listener/SpringEventListener.java     |   5 +-
 .../authentication/RangerAuthFailureHandler.java   |   5 +-
 .../authentication/RangerAuthSuccessHandler.java   |   5 +-
 .../RangerAuthenticationEntryPoint.java            |   5 +-
 .../security/web/filter/MyRememberMeFilter.java    |   5 +-
 .../web/filter/RangerCSRFPreventionFilter.java     |   5 +-
 ...RangerUsernamePasswordAuthenticationFilter.java |   5 +-
 .../service/AbstractBaseResourceService.java       |   7 +-
 .../ranger/service/RangerBaseModelService.java     |  10 +-
 .../ranger/service/RangerPluginActivityLogger.java |   6 +-
 .../ranger/service/RangerPluginInfoService.java    |   6 +-
 .../apache/ranger/service/RangerPolicyService.java |   6 +-
 .../apache/ranger/service/RangerRoleService.java   |   6 +-
 .../service/RangerSecurityZoneServiceService.java  |   6 +-
 .../service/RangerServiceDefServiceBase.java       |   6 +-
 .../service/RangerServiceResourceService.java      |   6 +-
 .../ranger/service/RangerServiceService.java       |   6 +-
 .../ranger/service/RangerTransactionService.java   |   6 +-
 .../org/apache/ranger/service/UserService.java     |   5 +-
 .../org/apache/ranger/service/XPolicyService.java  |   5 +-
 .../ranger/service/filter/RangerRESTAPIFilter.java |   5 +-
 .../ranger/solr/SolrAccessAuditsService.java       |   5 +-
 .../main/java/org/apache/ranger/solr/SolrMgr.java  |  11 +-
 .../main/java/org/apache/ranger/solr/SolrUtil.java |   5 +-
 .../org/apache/ranger/solr/krb/KerberosAction.java |   2 +-
 .../main/java/org/apache/ranger/util/CLIUtil.java  |   5 +-
 .../org/apache/ranger/util/RangerEnumUtil.java     |   5 +-
 .../org/apache/ranger/util/RangerMetricsUtil.java  |   5 +-
 .../org/apache/ranger/util/RangerRestUtil.java     |   5 +-
 .../src/main/webapp/WEB-INF/db_patch.log4j.xml     | 115 +++++++++------------
 .../src/main/webapp/WEB-INF/log4j.properties       |  90 ----------------
 security-admin/src/main/webapp/WEB-INF/logback.xml | 108 +++++++++++++++++++
 .../org/apache/ranger/audit/TestAuditQueue.java    |   6 +-
 .../java/org/apache/ranger/audit/TestConsumer.java |   6 +-
 .../apache/ranger/common/TestTimedExecutor.java    |   6 +-
 .../ElasticSearchAccessAuditsServiceTest.java      |   5 +-
 .../apache/ranger/rest/TestSecurityZoneREST.java   |   7 +-
 .../service/PasswordComparisonAuthenticator.java   |   8 +-
 storm-agent/pom.xml                                |  34 +++++-
 .../authorization/storm/StormRangerPlugin.java     |   6 +-
 .../storm/authorizer/RangerStormAuthorizer.java    |   3 +-
 .../ranger/services/storm/RangerServiceStorm.java  |   6 +-
 .../ranger/services/storm/client/StormClient.java  |   5 +-
 .../services/storm/client/StormConnectionMgr.java  |   5 +-
 .../services/storm/client/StormResourceMgr.java    |   5 +-
 tagsync/conf.dist/log4j.properties                 |  33 ------
 tagsync/conf.dist/logback.xml                      |  35 +++++++
 tagsync/pom.xml                                    |  54 ++++++++--
 tagsync/scripts/ranger-tagsync-services.sh         |   2 +-
 tagsync/scripts/ranger-tagsync-upload.sh           |   2 +-
 tagsync/scripts/setup.py                           |   2 +-
 .../ranger/tagsync/model/AbstractTagSource.java    |   6 +-
 .../ranger/tagsync/process/TagSyncConfig.java      |   5 +-
 .../tagsync/process/TagSyncMetricsProducer.java    |   5 +-
 .../ranger/tagsync/process/TagSynchronizer.java    |  19 +---
 .../tagsync/sink/tagadmin/TagAdminRESTSink.java    |   6 +-
 .../source/atlas/AtlasNotificationMapper.java      |   6 +-
 .../source/atlas/AtlasOzoneResourceMapper.java     |   6 +-
 .../tagsync/source/atlas/AtlasResourceMapper.java  |   6 +-
 .../source/atlas/AtlasResourceMapperUtil.java      |   6 +-
 .../tagsync/source/atlas/AtlasTagSource.java       |   6 +-
 .../source/atlas/EntityNotificationWrapper.java    |   6 +-
 .../source/atlasrest/AtlasRESTTagSource.java       |  16 +--
 .../ranger/tagsync/source/file/FileTagSource.java  |   6 +-
 tagsync/src/test/resources/log4j.properties        |  35 -------
 tagsync/src/test/resources/logback.xml             |  32 ++++++
 ugsync-util/pom.xml                                |   5 -
 ugsync/ldapconfigchecktool/ldapconfigcheck/pom.xml |  11 +-
 ugsync/pom.xml                                     |  29 +++---
 .../process/CustomSSLSocketFactory.java            |   5 +-
 .../ldapusersync/process/LdapUserGroupBuilder.java |   5 +-
 .../unixusersync/config/UserGroupSyncConfig.java   |   5 +-
 .../process/FileSourceUserGroupBuilder.java        |   5 +-
 .../process/PolicyMgrUserGroupBuilder.java         |   9 +-
 .../unixusersync/process/UnixUserGroupBuilder.java |   5 +-
 .../ranger/usergroupsync/AbstractMapper.java       |   5 +-
 .../usergroupsync/AbstractUserGroupSource.java     |   5 +-
 .../apache/ranger/usergroupsync/UserGroupSync.java |   5 +-
 .../usergroupsync/UserSyncMetricsProducer.java     |   5 +-
 ugsync/src/test/resources/logback.xml              |  32 ++++++
 unixauthclient/pom.xml                             |  26 ++---
 unixauthservice/conf.dist/log4j.properties         |  33 ------
 unixauthservice/conf.dist/logback.xml              |  35 +++++++
 unixauthservice/pom.xml                            |  29 ++++--
 .../scripts/ranger-usersync-services.sh            |   2 +-
 unixauthservice/scripts/setup.py                   |   2 +-
 .../ranger/authentication/PasswordValidator.java   |   5 +-
 .../authentication/UnixAuthenticationService.java  |  18 +---
 .../src/main/resources/log4j.properties            |  33 ------
 unixauthservice/src/main/resources/logback.xml     |  35 +++++++
 572 files changed, 3630 insertions(+), 2661 deletions(-)

diff --git a/agents-audit/pom.xml b/agents-audit/pom.xml
index 1519249..8c5f554 100644
--- a/agents-audit/pom.xml
+++ b/agents-audit/pom.xml
@@ -54,11 +54,6 @@
             <version>${commons.lang.version}</version>
         </dependency>
         <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>${commons.logging.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-common</artifactId>
             <version>${hadoop.version}</version>
@@ -79,14 +74,17 @@
                    <groupId>io.netty</groupId>
                    <artifactId>netty-transport-native-epoll</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>${log4j.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.kafka</groupId>
             <artifactId>kafka_${scala.binary.version}</artifactId>
             <version>${kafka.version}</version>
@@ -99,6 +97,10 @@
                     <groupId>org.lz4</groupId>
                     <artifactId>lz4-java</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -138,9 +140,18 @@
                     <groupId>org.eclipse.jetty</groupId>
                     <artifactId>*</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-client</artifactId>
             <version>${jetty-client.version}</version>
@@ -357,5 +368,11 @@
             <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk-logs</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/destination/AmazonCloudWatchAuditDestination.java b/agents-audit/src/main/java/org/apache/ranger/audit/destination/AmazonCloudWatchAuditDestination.java
index b3c7af4..6758e21 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/destination/AmazonCloudWatchAuditDestination.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/destination/AmazonCloudWatchAuditDestination.java
@@ -34,10 +34,10 @@ import com.amazonaws.services.logs.model.PutLogEventsResult;
 import com.amazonaws.services.logs.model.ResourceNotFoundException;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.annotation.concurrent.ThreadSafe;
 
@@ -59,7 +59,7 @@ import javax.annotation.concurrent.ThreadSafe;
 @ThreadSafe
 public class AmazonCloudWatchAuditDestination extends AuditDestination {
 
-    private static Log LOG = LogFactory.getLog(AmazonCloudWatchAuditDestination.class);
+    private static Logger LOG = LoggerFactory.getLogger(AmazonCloudWatchAuditDestination.class);
 
     public static final String PROP_LOG_GROUP_NAME = "log_group";
     public static final String PROP_LOG_STREAM_PREFIX = "log_stream_prefix";
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/destination/AuditDestination.java b/agents-audit/src/main/java/org/apache/ranger/audit/destination/AuditDestination.java
index 41d0e82..c221487 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/destination/AuditDestination.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/destination/AuditDestination.java
@@ -21,16 +21,16 @@ package org.apache.ranger.audit.destination;
 
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.provider.BaseAuditHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This class needs to be extended by anyone who wants to build custom
  * destination
  */
 public abstract class AuditDestination extends BaseAuditHandler {
-	private static final Log logger = LogFactory.getLog(AuditDestination.class);
+	private static final Logger logger = LoggerFactory.getLogger(AuditDestination.class);
 
 	public AuditDestination() {
 		logger.info("AuditDestination() enter");
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/destination/ElasticSearchAuditDestination.java b/agents-audit/src/main/java/org/apache/ranger/audit/destination/ElasticSearchAuditDestination.java
index d4897a4..343f3c7 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/destination/ElasticSearchAuditDestination.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/destination/ElasticSearchAuditDestination.java
@@ -32,8 +32,6 @@ import java.util.Properties;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.http.HttpHost;
 import org.apache.http.auth.AuthSchemeProvider;
 import org.apache.http.client.CredentialsProvider;
@@ -55,12 +53,14 @@ import org.elasticsearch.client.RequestOptions;
 import org.elasticsearch.client.RestClient;
 import org.elasticsearch.client.RestClientBuilder;
 import org.elasticsearch.client.RestHighLevelClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.security.auth.Subject;
 import javax.security.auth.kerberos.KerberosTicket;
 
 public class ElasticSearchAuditDestination extends AuditDestination {
-    private static final Log LOG = LogFactory.getLog(ElasticSearchAuditDestination.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ElasticSearchAuditDestination.class);
 
     public static final String CONFIG_URLS = "urls";
     public static final String CONFIG_PORT = "port";
@@ -267,7 +267,7 @@ public class ElasticSearchAuditDestination extends AuditDestination {
                 long now = System.currentTimeMillis();
                 long elapsed = now - lastLoggedAt;
                 if (elapsed > TimeUnit.MINUTES.toMillis(1)) {
-                    LOG.fatal("Can't connect to ElasticSearch server: " + connectionString(), t);
+                    LOG.error("Can't connect to ElasticSearch server: " + connectionString(), t);
                     return now;
                 } else {
                     return lastLoggedAt;
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/destination/FileAuditDestination.java b/agents-audit/src/main/java/org/apache/ranger/audit/destination/FileAuditDestination.java
index 609b985..f961725 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/destination/FileAuditDestination.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/destination/FileAuditDestination.java
@@ -29,17 +29,17 @@ import java.util.Date;
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This class write the logs to local file
  */
 public class FileAuditDestination extends AuditDestination {
-	private static final Log logger = LogFactory
-			.getLog(FileAuditDestination.class);
+	private static final Logger logger = LoggerFactory
+			.getLogger(FileAuditDestination.class);
 
 	public static final String PROP_FILE_LOCAL_DIR = "dir";
 	public static final String PROP_FILE_LOCAL_FILE_NAME_FORMAT = "filename.format";
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/destination/HDFSAuditDestination.java b/agents-audit/src/main/java/org/apache/ranger/audit/destination/HDFSAuditDestination.java
index 474c3ba..2d26139 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/destination/HDFSAuditDestination.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/destination/HDFSAuditDestination.java
@@ -27,19 +27,19 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.AuditWriterFactory;
 import org.apache.ranger.audit.provider.MiscUtil;
 import org.apache.ranger.audit.utils.RangerAuditWriter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This class write the logs to local file
  */
 public class HDFSAuditDestination extends AuditDestination {
-	private static final Log logger = LogFactory
-			.getLog(HDFSAuditDestination.class);
+	private static final Logger logger = LoggerFactory
+			.getLogger(HDFSAuditDestination.class);
 
 	private Map<String, String> auditConfigs            = null;
 	private String              auditProviderName       = null;
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/destination/Log4JAuditDestination.java b/agents-audit/src/main/java/org/apache/ranger/audit/destination/Log4JAuditDestination.java
index 1dd35c9..6da3e75 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/destination/Log4JAuditDestination.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/destination/Log4JAuditDestination.java
@@ -22,16 +22,16 @@ package org.apache.ranger.audit.destination;
 import java.util.Collection;
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class Log4JAuditDestination extends AuditDestination {
-	private static final Log logger = LogFactory
-			.getLog(Log4JAuditDestination.class);
+	private static final Logger logger = LoggerFactory
+			.getLogger(Log4JAuditDestination.class);
 
-	private static Log auditLogger = null;
+	private static Logger auditLogger = null;
 
 	public static final String PROP_LOG4J_LOGGER = "logger";
 	public static final String DEFAULT_LOGGER_PREFIX = "ranger.audit";
@@ -54,7 +54,7 @@ public class Log4JAuditDestination extends AuditDestination {
 					+ loggerName);
 		}
 		logger.info("Logger name for " + getName() + " is " + loggerName);
-		auditLogger = LogFactory.getLog(loggerName);
+		auditLogger = LoggerFactory.getLogger(loggerName);
 		logger.info("Done initializing logger for audit. name=" + getName()
 				+ ", loggerName=" + loggerName);
 	}
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java b/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
index 8532bf8..f2e96bf 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/destination/SolrAuditDestination.java
@@ -20,8 +20,6 @@
 package org.apache.ranger.audit.destination;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.audit.provider.MiscUtil;
@@ -38,6 +36,8 @@ import org.apache.solr.client.solrj.impl.LBHttpSolrClient;
 import org.apache.solr.client.solrj.response.UpdateResponse;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrInputDocument;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -71,8 +71,8 @@ import java.util.Optional;
 
 
 public class SolrAuditDestination extends AuditDestination {
-	private static final Log LOG = LogFactory
-			.getLog(SolrAuditDestination.class);
+	private static final Logger LOG = LoggerFactory
+			.getLogger(SolrAuditDestination.class);
 
 	public static final String PROP_SOLR_URLS = "urls";
 	public static final String PROP_SOLR_ZK = "zookeepers";
@@ -181,7 +181,7 @@ public class SolrAuditDestination extends AuditDestination {
 							solrCloudClient.setDefaultCollection(collectionName);
 							me = solrClient = solrCloudClient;
 						} catch (Throwable t) {
-							LOG.fatal("Can't connect to Solr server. ZooKeepers="
+							LOG.error("Can't connect to Solr server. ZooKeepers="
 									+ zkHosts, t);
 						}
 					} else if (solrURLs != null && !solrURLs.isEmpty()) {
@@ -207,7 +207,7 @@ public class SolrAuditDestination extends AuditDestination {
 							}
 							me = solrClient = lbSolrClient;
 						} catch (Throwable t) {
-							LOG.fatal("Can't connect to Solr server. URL="
+							LOG.error("Can't connect to Solr server. URL="
 									+ solrURLs, t);
 						}
 					}
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AsyncAuditProvider.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AsyncAuditProvider.java
index c74a3ea..9cd613c 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AsyncAuditProvider.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AsyncAuditProvider.java
@@ -25,14 +25,14 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class AsyncAuditProvider extends MultiDestAuditProvider implements
 		Runnable {
 
-	private static final Log LOG = LogFactory.getLog(AsyncAuditProvider.class);
+	private static final Logger LOG = LoggerFactory.getLogger(AsyncAuditProvider.class);
 
 	private static int sThreadCount = 0;
 
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditFileCacheProvider.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditFileCacheProvider.java
index 8e3dd72..7957f2e 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditFileCacheProvider.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditFileCacheProvider.java
@@ -18,10 +18,10 @@
  */
 package org.apache.ranger.audit.provider;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.queue.AuditFileCacheProviderSpool;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Collection;
 import java.util.Properties;
@@ -31,7 +31,7 @@ import java.util.Properties;
 */
 
 public class AuditFileCacheProvider extends BaseAuditHandler {
-    private static final Log    logger = LogFactory.getLog(AuditFileCacheProvider.class);
+    private static final Logger    logger = LoggerFactory.getLogger(AuditFileCacheProvider.class);
 
     AuditFileCacheProviderSpool fileSpooler = null;
     AuditHandler                consumer    = null;
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
index 7846879..598659b 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
@@ -26,8 +26,6 @@ import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.util.ShutdownHookManager;
 import org.apache.ranger.audit.destination.*;
 import org.apache.ranger.audit.provider.hdfs.HdfsAuditProvider;
@@ -38,6 +36,8 @@ import org.apache.ranger.audit.queue.AuditBatchQueue;
 import org.apache.ranger.audit.queue.AuditFileQueue;
 import org.apache.ranger.audit.queue.AuditQueue;
 import org.apache.ranger.audit.queue.AuditSummaryQueue;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /*
  * TODO:
@@ -47,8 +47,8 @@ import org.apache.ranger.audit.queue.AuditSummaryQueue;
  */
 
 public class AuditProviderFactory {
-	private static final Log LOG = LogFactory
-			.getLog(AuditProviderFactory.class);
+	private static final Logger LOG = LoggerFactory
+			.getLogger(AuditProviderFactory.class);
 
 	public static final String AUDIT_IS_ENABLED_PROP = "xasecure.audit.is.enabled";
 	public static final String AUDIT_HDFS_IS_ENABLED_PROP = "xasecure.audit.hdfs.is.enabled";
@@ -202,13 +202,13 @@ public class AuditProviderFactory {
 							qProvider.init(props, queuePropPrefix);
 							providers.add(queueProvider);
 						} else {
-							LOG.fatal("Provider queue doesn't extend AuditQueue. Destination="
+							LOG.error("Provider queue doesn't extend AuditQueue. Destination="
 									+ destName
 									+ " can't be created. queueName="
 									+ queueName);
 						}
 					} else {
-						LOG.fatal("Queue provider for destination " + destName
+						LOG.error("Queue provider for destination " + destName
 								+ " can't be created. queueName=" + queueName);
 					}
 				} else {
@@ -408,7 +408,7 @@ public class AuditProviderFactory {
 							.newInstance();
 				}
 			} catch (Exception e) {
-				LOG.fatal("Can't instantiate audit class for providerName="
+				LOG.error("Can't instantiate audit class for providerName="
 						+ providerName + ", className=" + className
 						+ ", propertyPrefix=" + propPrefix, e);
 			}
@@ -438,7 +438,7 @@ public class AuditProviderFactory {
 		}
 		if (provider != null && provider instanceof AuditQueue) {
 			if (consumer == null) {
-				LOG.fatal("consumer can't be null for AuditQueue. queue="
+				LOG.error("consumer can't be null for AuditQueue. queue="
 						+ provider.getName() + ", propertyPrefix=" + propPrefix);
 				provider = null;
 			}
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditWriterFactory.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditWriterFactory.java
index 6ef2255..5eeaeea 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditWriterFactory.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditWriterFactory.java
@@ -20,15 +20,15 @@ package org.apache.ranger.audit.provider;
  */
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.utils.RangerAuditWriter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Map;
 import java.util.Properties;
 
 public class AuditWriterFactory {
-    private static final Log    logger                     = LogFactory.getLog(AuditWriterFactory.class);
+    private static final Logger logger                     = LoggerFactory.getLogger(AuditWriterFactory.class);
     public static  final String AUDIT_FILETYPE_DEFAULT     = "json";
     public static  final String AUDIT_JSON_FILEWRITER_IMPL = "org.apache.ranger.audit.utils.RangerJSONAuditWriter";
     public static  final String AUDIT_ORC_FILEWRITER_IMPL  = "org.apache.ranger.audit.utils.RangerORCAuditWriter";
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/BaseAuditHandler.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/BaseAuditHandler.java
index 9a61fa9..af09ca7 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/BaseAuditHandler.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/BaseAuditHandler.java
@@ -18,10 +18,10 @@
  */
 package org.apache.ranger.audit.provider;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.GsonBuilder;
 
@@ -34,7 +34,7 @@ import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.TrustManagerFactory;
 
 public abstract class BaseAuditHandler implements AuditHandler {
-	private static final Log LOG = LogFactory.getLog(BaseAuditHandler.class);
+	private static final Logger LOG = LoggerFactory.getLogger(BaseAuditHandler.class);
 
 	static final String AUDIT_LOG_FAILURE_REPORT_MIN_INTERVAL_PROP = "xasecure.audit.log.failure.report.min.interval.ms";
 
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/Log4jAuditProvider.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/Log4jAuditProvider.java
index 353c809..0a874ef 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/Log4jAuditProvider.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/Log4jAuditProvider.java
@@ -21,17 +21,17 @@ package org.apache.ranger.audit.provider;
 import java.util.Collection;
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.destination.AuditDestination;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class Log4jAuditProvider extends AuditDestination {
 
-	private static final Log LOG      = LogFactory.getLog(Log4jAuditProvider.class);
-	private static final Log AUDITLOG = LogFactory.getLog("xaaudit." + Log4jAuditProvider.class.getName());
+	private static final Logger LOG      = LoggerFactory.getLogger(Log4jAuditProvider.class);
+	private static final Logger AUDITLOG = LoggerFactory.getLogger("xaaudit." + Log4jAuditProvider.class.getName());
 
 	public static final String AUDIT_LOG4J_IS_ASYNC_PROP           = "xasecure.audit.log4j.is.async";
 	public static final String AUDIT_LOG4J_MAX_QUEUE_SIZE_PROP     = "xasecure.audit.log4j.async.max.queue.size";
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/Log4jTracer.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/Log4jTracer.java
index bdb1a47..cd5befc 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/Log4jTracer.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/Log4jTracer.java
@@ -16,12 +16,12 @@
  */
 package org.apache.ranger.audit.provider;
 
-import org.apache.commons.logging.Log;
+import org.slf4j.Logger;
 
 public class Log4jTracer implements DebugTracer {
-	private Log mLogger = null;
+	private Logger mLogger = null;
 
-	public Log4jTracer(Log logger) {
+	public Log4jTracer(Logger logger) {
 		mLogger = logger;
 	}
 
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/MiscUtil.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/MiscUtil.java
index 268cb57..b69e276 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/MiscUtil.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/MiscUtil.java
@@ -51,13 +51,12 @@ import javax.security.auth.login.LoginContext;
 
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.security.authentication.util.KerberosName;
 import org.apache.hadoop.security.authentication.util.KerberosUtil;
-import org.apache.log4j.helpers.LogLog;
 import org.apache.ranger.authorization.hadoop.utils.RangerCredentialProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -65,7 +64,7 @@ import com.google.gson.GsonBuilder;
 import static org.apache.hadoop.util.PlatformName.IBM_JAVA;
 
 public class MiscUtil {
-	private static final Log logger = LogFactory.getLog(MiscUtil.class);
+	private static final Logger logger = LoggerFactory.getLogger(MiscUtil.class);
 
 	public static final String TOKEN_START = "%";
 	public static final String TOKEN_END = "%";
@@ -95,7 +94,7 @@ public class MiscUtil {
 			sGsonBuilder = new GsonBuilder().setDateFormat(
 					"yyyy-MM-dd HH:mm:ss.SSS").create();
 		} catch (Throwable excp) {
-			LogLog.warn(
+			logger.warn(
 					"failed to create GsonBuilder object. stringify() will return obj.toString(), instead of Json",
 					excp);
 		}
@@ -206,7 +205,7 @@ public class MiscUtil {
 			ret = propertyName != null ? System.getProperty(propertyName)
 					: null;
 		} catch (Exception excp) {
-			LogLog.warn("getSystemProperty(" + propertyName + ") failed", excp);
+			logger.warn("getSystemProperty(" + propertyName + ") failed", excp);
 		}
 
 		return ret;
@@ -218,7 +217,7 @@ public class MiscUtil {
 		try {
 			ret = envName != null ? System.getenv(envName) : null;
 		} catch (Exception excp) {
-			LogLog.warn("getenv(" + envName + ") failed", excp);
+			logger.warn("getenv(" + envName + ") failed", excp);
 		}
 
 		return ret;
@@ -232,7 +231,7 @@ public class MiscUtil {
 
 			ret = sdf.format(time);
 		} catch (Exception excp) {
-			LogLog.warn("SimpleDateFormat.format() failed: " + format, excp);
+			logger.warn("SimpleDateFormat.format() failed: " + format, excp);
 		}
 
 		return ret;
@@ -247,7 +246,7 @@ public class MiscUtil {
 
 				if (!parentDir.exists()) {
 					if (!parentDir.mkdirs()) {
-						LogLog.warn("createParents(): failed to create "
+						logger.warn("createParents(): failed to create "
 								+ parentDir.getAbsolutePath());
 					}
 				}
@@ -477,7 +476,7 @@ public class MiscUtil {
 				logger.info("Default UGI before using new Subject:"
 						+ UserGroupInformation.getLoginUser());
 			} catch (Throwable t) {
-				logger.error(t);
+				logger.error("failed to get login user", t);
 			}
 			ugi = UserGroupInformation.getUGIFromSubject(subject);
 			logger.info("SUBJECT.UGI.NAME=" + ugi.getUserName() + ", ugi="
@@ -616,7 +615,7 @@ public class MiscUtil {
 		return Collections.emptySet();
 	}
 
-	static public boolean logErrorMessageByInterval(Log useLogger,
+	static public boolean logErrorMessageByInterval(Logger useLogger,
 			String message) {
 		return logErrorMessageByInterval(useLogger, message, null);
 	}
@@ -626,7 +625,7 @@ public class MiscUtil {
 	 * @param message
 	 * @param e
 	 */
-	static public boolean logErrorMessageByInterval(Log useLogger,
+	static public boolean logErrorMessageByInterval(Logger useLogger,
 			String message, Throwable e) {
         if (message == null) {
             return false;
@@ -858,7 +857,7 @@ public class MiscUtil {
 		try {
 			local_hostname = InetAddress.getLocalHost().getHostName();
 		} catch (Throwable excp) {
-			LogLog.warn("getHostname()", excp);
+			logger.warn("getHostname()", excp);
 		}
 		if ( logger.isDebugEnabled() ) {
 			logger.debug("<== MiscUtil.initLocalHost()");
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/MultiDestAuditProvider.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/MultiDestAuditProvider.java
index b829ac5..b2e43c3 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/MultiDestAuditProvider.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/MultiDestAuditProvider.java
@@ -23,14 +23,14 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class MultiDestAuditProvider extends BaseAuditHandler {
 
-	private static final Log LOG = LogFactory
-			.getLog(MultiDestAuditProvider.class);
+	private static final Logger LOG = LoggerFactory
+			.getLogger(MultiDestAuditProvider.class);
 
 	protected List<AuditHandler> mProviders = new ArrayList<AuditHandler>();
 	static final String DEFAULT_NAME = "multi_dest";
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/StandAloneAuditProviderFactory.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/StandAloneAuditProviderFactory.java
index 4306b24..5ed77da 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/StandAloneAuditProviderFactory.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/StandAloneAuditProviderFactory.java
@@ -18,11 +18,11 @@
 
 package org.apache.ranger.audit.provider;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class StandAloneAuditProviderFactory extends AuditProviderFactory {
-	private static final Log LOG = LogFactory.getLog(StandAloneAuditProviderFactory.class);
+	private static final Logger LOG = LoggerFactory.getLogger(StandAloneAuditProviderFactory.class);
 
 	private volatile static StandAloneAuditProviderFactory sFactory = null;
 
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/hdfs/HdfsAuditProvider.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/hdfs/HdfsAuditProvider.java
index 65429ad..83ff017 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/hdfs/HdfsAuditProvider.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/hdfs/HdfsAuditProvider.java
@@ -19,17 +19,17 @@ package org.apache.ranger.audit.provider.hdfs;
 import java.util.Map;
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.BufferedAuditProvider;
 import org.apache.ranger.audit.provider.DebugTracer;
 import org.apache.ranger.audit.provider.LocalFileLogBuffer;
 import org.apache.ranger.audit.provider.Log4jTracer;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HdfsAuditProvider extends BufferedAuditProvider {
-	private static final Log LOG = LogFactory.getLog(HdfsAuditProvider.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HdfsAuditProvider.class);
 
 	public static final String AUDIT_HDFS_IS_ASYNC_PROP           = "xasecure.audit.hdfs.is.async";
 	public static final String AUDIT_HDFS_MAX_QUEUE_SIZE_PROP     = "xasecure.audit.hdfs.async.max.queue.size";
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/kafka/KafkaAuditProvider.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/kafka/KafkaAuditProvider.java
index a0c2542..3df53ae 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/kafka/KafkaAuditProvider.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/kafka/KafkaAuditProvider.java
@@ -24,16 +24,16 @@ import java.util.Properties;
 import org.apache.kafka.clients.producer.KafkaProducer;
 import org.apache.kafka.clients.producer.Producer;
 import org.apache.kafka.clients.producer.ProducerRecord;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.destination.AuditDestination;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class KafkaAuditProvider extends AuditDestination {
-	private static final Log LOG = LogFactory.getLog(KafkaAuditProvider.class);
+	private static final Logger LOG = LoggerFactory.getLogger(KafkaAuditProvider.class);
 
 	public static final String AUDIT_MAX_QUEUE_SIZE_PROP = "xasecure.audit.kafka.async.max.queue.size";
 	public static final String AUDIT_MAX_FLUSH_INTERVAL_PROP = "xasecure.audit.kafka.async.max.flush.interval.ms";
@@ -85,7 +85,7 @@ public class KafkaAuditProvider extends AuditDestination {
 				initDone = true;
 			}
 		} catch (Throwable t) {
-			LOG.fatal("Error initializing kafka:", t);
+			LOG.error("Error initializing kafka:", t);
 		}
 	}
 
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
index 1ef115a..9cda3f8 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
@@ -26,8 +26,6 @@ import java.util.Collections;
 import java.util.Date;
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.destination.AuditDestination;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
@@ -37,9 +35,11 @@ import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.impl.HttpSolrClient;
 import org.apache.solr.client.solrj.response.UpdateResponse;
 import org.apache.solr.common.SolrInputDocument;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class SolrAuditProvider extends AuditDestination {
-	private static final Log LOG = LogFactory.getLog(SolrAuditProvider.class);
+	private static final Logger LOG = LoggerFactory.getLogger(SolrAuditProvider.class);
 
 	public static final String AUDIT_MAX_QUEUE_SIZE_PROP = "xasecure.audit.solr.async.max.queue.size";
 	public static final String AUDIT_MAX_FLUSH_INTERVAL_PROP = "xasecure.audit.solr.async.max.flush.interval.ms";
@@ -89,7 +89,7 @@ public class SolrAuditProvider extends AuditDestination {
 					lastConnectTime = new Date();
 
 					if (solrURL == null || solrURL.isEmpty()) {
-						LOG.fatal("Solr URL for Audit is empty");
+						LOG.error("Solr URL for Audit is empty");
 						return;
 					}
 
@@ -109,7 +109,7 @@ public class SolrAuditProvider extends AuditDestination {
 
 						me = solrClient;
 					} catch (Throwable t) {
-						LOG.fatal("Can't connect to Solr server. URL="
+						LOG.error("Can't connect to Solr server. URL="
 								+ solrURL, t);
 					}
 				}
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditAsyncQueue.java b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditAsyncQueue.java
index f31772a..68527d3 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditAsyncQueue.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditAsyncQueue.java
@@ -23,17 +23,17 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.concurrent.LinkedBlockingQueue;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.log4j.MDC;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.AuditHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
 
 /**
  * This is a non-blocking queue with no limit on capacity.
  */
 public class AuditAsyncQueue extends AuditQueue implements Runnable {
-	private static final Log logger = LogFactory.getLog(AuditAsyncQueue.class);
+	private static final Logger logger = LoggerFactory.getLogger(AuditAsyncQueue.class);
 
 	LinkedBlockingQueue<AuditEventBase> queue = new LinkedBlockingQueue<AuditEventBase>();
 	Thread consumerThread = null;
@@ -130,7 +130,7 @@ public class AuditAsyncQueue extends AuditQueue implements Runnable {
 			MDC.clear();
 			runLogAudit();
 		} catch (Throwable t) {
-			logger.fatal("Exited thread abnormaly. queue=" + getName(), t);
+			logger.error("Exited thread abnormaly. queue=" + getName(), t);
 		}
 	}
 
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditBatchQueue.java b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditBatchQueue.java
index 113a230..d9cd52b 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditBatchQueue.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditBatchQueue.java
@@ -26,14 +26,14 @@ import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.log4j.MDC;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.AuditHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
 
 public class AuditBatchQueue extends AuditQueue implements Runnable {
-	private static final Log logger = LogFactory.getLog(AuditBatchQueue.class);
+	private static final Logger logger = LoggerFactory.getLogger(AuditBatchQueue.class);
 
 	private BlockingQueue<AuditEventBase> queue = null;
 	private Collection<AuditEventBase> localBatchBuffer = new ArrayList<AuditEventBase>();
@@ -214,7 +214,7 @@ public class AuditBatchQueue extends AuditQueue implements Runnable {
 			MDC.clear();
 			runLogAudit();
 		} catch (Throwable t) {
-			logger.fatal("Exited thread abnormaly. queue=" + getName(), t);
+			logger.error("Exited thread abnormaly. queue=" + getName(), t);
 		}
 	}
 
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileCacheProviderSpool.java b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileCacheProviderSpool.java
index f6951c6..bc8f685 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileCacheProviderSpool.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileCacheProviderSpool.java
@@ -21,13 +21,13 @@ package org.apache.ranger.audit.queue;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.log4j.MDC;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.AuditHandler;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
 
 import java.io.*;
 import java.util.*;
@@ -42,7 +42,7 @@ import java.util.concurrent.TimeUnit;
  */
 
 public class AuditFileCacheProviderSpool implements Runnable {
-    private static final Log logger = LogFactory.getLog(AuditFileCacheProviderSpool.class);
+    private static final Logger logger = LoggerFactory.getLogger(AuditFileCacheProviderSpool.class);
 
     public enum SPOOL_FILE_STATUS {
         pending, write_inprogress, read_inprogress, done
@@ -152,7 +152,7 @@ public class AuditFileCacheProviderSpool implements Runnable {
                     + FILE_CACHE_PROVIDER_NAME);
 
             if (logFolderProp == null || logFolderProp.isEmpty()) {
-                logger.fatal("Audit spool folder is not configured. Please set "
+                logger.error("Audit spool folder is not configured. Please set "
                         + propPrefix
                         + "."
                         + PROP_FILE_SPOOL_LOCAL_DIR
@@ -163,7 +163,7 @@ public class AuditFileCacheProviderSpool implements Runnable {
             if (!logFolder.isDirectory()) {
                 boolean result = logFolder.mkdirs();
                 if (!logFolder.isDirectory() || !result) {
-                    logger.fatal("File Spool folder not found and can't be created. folder="
+                    logger.error("File Spool folder not found and can't be created. folder="
                             + logFolder.getAbsolutePath()
                             + ", queueName="
                             + FILE_CACHE_PROVIDER_NAME);
@@ -213,7 +213,7 @@ public class AuditFileCacheProviderSpool implements Runnable {
             if (!indexFile.exists()) {
                 boolean ret = indexFile.createNewFile();
                 if (!ret) {
-                    logger.fatal("Error creating index file. fileName="
+                    logger.error("Error creating index file. fileName="
                             + indexFile.getPath());
                     return false;
                 }
@@ -231,7 +231,7 @@ public class AuditFileCacheProviderSpool implements Runnable {
             if (!indexDoneFile.exists()) {
                 boolean ret = indexDoneFile.createNewFile();
                 if (!ret) {
-                    logger.fatal("Error creating index done file. fileName="
+                    logger.error("Error creating index done file. fileName="
                             + indexDoneFile.getPath());
                     return false;
                 }
@@ -272,7 +272,7 @@ public class AuditFileCacheProviderSpool implements Runnable {
             }
 
         } catch (Throwable t) {
-            logger.fatal("Error initializing File Spooler. queue="
+            logger.error("Error initializing File Spooler. queue="
                     + FILE_CACHE_PROVIDER_NAME, t);
             return false;
         }
@@ -770,7 +770,7 @@ public class AuditFileCacheProviderSpool implements Runnable {
             MDC.clear();
             runLogAudit();
         } catch (Throwable t) {
-            logger.fatal("Exited thread without abnormaly. queue="
+            logger.error("Exited thread without abnormaly. queue="
                     + consumerProvider.getName(), t);
         }
     }
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileQueue.java b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileQueue.java
index 0b245c0..a4e0683 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileQueue.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileQueue.java
@@ -18,11 +18,11 @@
  */
 package org.apache.ranger.audit.queue;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.AuditHandler;
 import org.apache.ranger.audit.provider.BaseAuditHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Collection;
 import java.util.Properties;
@@ -32,7 +32,7 @@ import java.util.Properties;
 */
 
 public class AuditFileQueue extends BaseAuditHandler {
-    private static final Log    logger = LogFactory.getLog(AuditFileQueue.class);
+    private static final Logger    logger = LoggerFactory.getLogger(AuditFileQueue.class);
 
     AuditFileQueueSpool fileSpooler = null;
     AuditHandler        consumer    = null;
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileQueueSpool.java b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileQueueSpool.java
index 3284783..26e11ab 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileQueueSpool.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileQueueSpool.java
@@ -21,13 +21,13 @@ package org.apache.ranger.audit.queue;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.log4j.MDC;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.audit.provider.AuditHandler;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
 
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
@@ -58,7 +58,7 @@ import java.util.concurrent.TimeUnit;
  */
 
 public class AuditFileQueueSpool implements Runnable {
-    private static final Log logger = LogFactory.getLog(AuditFileQueueSpool.class);
+    private static final Logger logger = LoggerFactory.getLogger(AuditFileQueueSpool.class);
 
     public enum SPOOL_FILE_STATUS {
         pending, write_inprogress, read_inprogress, done
@@ -166,7 +166,7 @@ public class AuditFileQueueSpool implements Runnable {
                     + FILE_QUEUE_PROVIDER_NAME);
 
             if (logFolderProp == null || logFolderProp.isEmpty()) {
-                logger.fatal("Audit spool folder is not configured. Please set "
+                logger.error("Audit spool folder is not configured. Please set "
                         + propPrefix
                         + "."
                         + PROP_FILE_SPOOL_LOCAL_DIR
@@ -177,7 +177,7 @@ public class AuditFileQueueSpool implements Runnable {
             if (!logFolder.isDirectory()) {
                 boolean result = logFolder.mkdirs();
                 if (!logFolder.isDirectory() || !result) {
-                    logger.fatal("File Spool folder not found and can't be created. folder="
+                    logger.error("File Spool folder not found and can't be created. folder="
                             + logFolder.getAbsolutePath()
                             + ", queueName="
                             + FILE_QUEUE_PROVIDER_NAME);
@@ -227,7 +227,7 @@ public class AuditFileQueueSpool implements Runnable {
             if (!indexFile.exists()) {
                 boolean ret = indexFile.createNewFile();
                 if (!ret) {
-                    logger.fatal("Error creating index file. fileName="
+                    logger.error("Error creating index file. fileName="
                             + indexFile.getPath());
                     return false;
                 }
@@ -245,7 +245,7 @@ public class AuditFileQueueSpool implements Runnable {
             if (!indexDoneFile.exists()) {
                 boolean ret = indexDoneFile.createNewFile();
                 if (!ret) {
-                    logger.fatal("Error creating index done file. fileName="
+                    logger.error("Error creating index done file. fileName="
                             + indexDoneFile.getPath());
                     return false;
                 }
@@ -291,7 +291,7 @@ public class AuditFileQueueSpool implements Runnable {
             }
 
         } catch (Throwable t) {
-            logger.fatal("Error initializing File Spooler. queue="
+            logger.error("Error initializing File Spooler. queue="
                     + FILE_QUEUE_PROVIDER_NAME, t);
             return false;
         }
@@ -789,7 +789,7 @@ public class AuditFileQueueSpool implements Runnable {
             MDC.clear();
             runLogAudit();
         } catch (Throwable t) {
-            logger.fatal("Exited thread without abnormaly. queue="
+            logger.error("Exited thread without abnormaly. queue="
                     + consumerProvider.getName(), t);
         }
     }
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileSpool.java b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileSpool.java
index f8c2aa5..edce246 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileSpool.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileSpool.java
@@ -38,22 +38,22 @@ import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.log4j.MDC;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.AuditHandler;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+import org.slf4j.MDC;
 
 /**
  * This class temporarily stores logs in file system if the destination is
  * overloaded or down
  */
 public class AuditFileSpool implements Runnable {
-	private static final Log logger = LogFactory.getLog(AuditFileSpool.class);
+	private static final Logger logger = LoggerFactory.getLogger(AuditFileSpool.class);
 
 	public enum SPOOL_FILE_STATUS {
 		pending, write_inprogress, read_inprogress, done
@@ -163,7 +163,7 @@ public class AuditFileSpool implements Runnable {
 					+ queueProvider.getName());
 
 			if (logFolderProp == null || logFolderProp.isEmpty()) {
-				logger.fatal("Audit spool folder is not configured. Please set "
+				logger.error("Audit spool folder is not configured. Please set "
 						+ propPrefix
 						+ "."
 						+ PROP_FILE_SPOOL_LOCAL_DIR
@@ -174,7 +174,7 @@ public class AuditFileSpool implements Runnable {
 			if (!logFolder.isDirectory()) {
 				logFolder.mkdirs();
 				if (!logFolder.isDirectory()) {
-					logger.fatal("File Spool folder not found and can't be created. folder="
+					logger.error("File Spool folder not found and can't be created. folder="
 							+ logFolder.getAbsolutePath()
 							+ ", queueName="
 							+ queueProvider.getName());
@@ -224,7 +224,7 @@ public class AuditFileSpool implements Runnable {
 			if (!indexFile.exists()) {
 				boolean ret = indexFile.createNewFile();
 				if (!ret) {
-					logger.fatal("Error creating index file. fileName="
+					logger.error("Error creating index file. fileName="
 							+ indexDoneFile.getPath());
 					return false;
 				}
@@ -242,7 +242,7 @@ public class AuditFileSpool implements Runnable {
 			if (!indexDoneFile.exists()) {
 				boolean ret = indexDoneFile.createNewFile();
 				if (!ret) {
-					logger.fatal("Error creating index done file. fileName="
+					logger.error("Error creating index done file. fileName="
 							+ indexDoneFile.getPath());
 					return false;
 				}
@@ -282,7 +282,7 @@ public class AuditFileSpool implements Runnable {
 			}
 
 		} catch (Throwable t) {
-			logger.fatal("Error initializing File Spooler. queue="
+			logger.error("Error initializing File Spooler. queue="
 					+ queueProvider.getName(), t);
 			return false;
 		}
@@ -756,7 +756,7 @@ public class AuditFileSpool implements Runnable {
 			MDC.clear();
 			runLogAudit();
 		} catch (Throwable t) {
-			logger.fatal("Exited thread without abnormaly. queue="
+			logger.error("Exited thread without abnormaly. queue="
 					+ consumerProvider.getName(), t);
 		}
 	}
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditQueue.java b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditQueue.java
index e1667a4..e2d9741 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditQueue.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditQueue.java
@@ -21,15 +21,15 @@ package org.apache.ranger.audit.queue;
 
 import java.util.Properties;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.destination.AuditDestination;
 import org.apache.ranger.audit.provider.AuditHandler;
 import org.apache.ranger.audit.provider.BaseAuditHandler;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public abstract class AuditQueue extends BaseAuditHandler {
-	private static final Log LOG = LogFactory.getLog(AuditQueue.class);
+	private static final Logger LOG = LoggerFactory.getLogger(AuditQueue.class);
 
 	public static final int AUDIT_MAX_QUEUE_SIZE_DEFAULT = 1024 * 1024;
 	public static final int AUDIT_BATCH_INTERVAL_DEFAULT_MS = 3000;
@@ -114,7 +114,7 @@ public abstract class AuditQueue extends BaseAuditHandler {
 			fileSpooler = new AuditFileSpool(this, consumer);
 			if (!fileSpooler.init(props, basePropertyName)) {
 				fileSpoolerEnabled = false;
-				LOG.fatal("Couldn't initialize file spooler. Disabling it. queue="
+				LOG.error("Couldn't initialize file spooler. Disabling it. queue="
 						+ getName() + ", consumer=" + consumer.getName());
 			}
 		} else {
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditSummaryQueue.java b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditSummaryQueue.java
index 4c25033..cef23db 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditSummaryQueue.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditSummaryQueue.java
@@ -28,19 +28,19 @@ import java.util.Properties;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.log4j.MDC;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.provider.AuditHandler;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
 
 /**
  * This is a non-blocking queue with no limit on capacity.
  */
 public class AuditSummaryQueue extends AuditQueue implements Runnable {
-	private static final Log logger = LogFactory
-			.getLog(AuditSummaryQueue.class);
+	private static final Logger logger = LoggerFactory
+			.getLogger(AuditSummaryQueue.class);
 
 	public static final String PROP_SUMMARY_INTERVAL = "summary.interval.ms";
 
@@ -151,7 +151,7 @@ public class AuditSummaryQueue extends AuditQueue implements Runnable {
 			MDC.clear();
 			runLogAudit();
 		} catch (Throwable t) {
-			logger.fatal("Exited thread without abnormaly. queue=" + getName(),
+			logger.error("Exited thread without abnormaly. queue=" + getName(),
 					t);
 		}
 	}
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/test/TestEvents.java b/agents-audit/src/main/java/org/apache/ranger/audit/test/TestEvents.java
index 231cb86..91a9e75 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/test/TestEvents.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/test/TestEvents.java
@@ -18,14 +18,13 @@
  */
 
  package org.apache.ranger.audit.test;
-import org.apache.commons.logging.Log;
-import org.apache.log4j.xml.DOMConfigurator;
 import org.apache.ranger.audit.model.AuditEventBase;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.audit.model.EnumRepositoryType;
 import org.apache.ranger.audit.provider.AuditHandler;
 import org.apache.ranger.audit.provider.AuditProviderFactory;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -34,11 +33,9 @@ import java.util.Properties;
 
 public class TestEvents {
 
-    private static final Log LOG = LogFactory.getLog(TestEvents.class);
+    private static final Logger LOG = LoggerFactory.getLogger(TestEvents.class);
 
     public static void main(String[] args) {
-        DOMConfigurator.configure("log4j.xml");
-
         LOG.info("==> TestEvents.main()");
 
         try {
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/utils/AbstractRangerAuditWriter.java b/agents-audit/src/main/java/org/apache/ranger/audit/utils/AbstractRangerAuditWriter.java
index d14bd38..2e8e71d 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/utils/AbstractRangerAuditWriter.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/utils/AbstractRangerAuditWriter.java
@@ -20,11 +20,11 @@ package org.apache.ranger.audit.utils;
  */
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.*;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.IOException;
@@ -38,7 +38,7 @@ import java.util.Properties;
  * This is Abstract class to have common properties of Ranger Audit HDFS Destination Writer.
  */
 public abstract class AbstractRangerAuditWriter implements RangerAuditWriter {
-    private static final Log logger = LogFactory.getLog(AbstractRangerAuditWriter.class);
+    private static final Logger logger = LoggerFactory.getLogger(AbstractRangerAuditWriter.class);
 
     public static final String    PROP_FILESYSTEM_DIR              = "dir";
     public static final String    PROP_FILESYSTEM_SUBDIR           = "subdir";
@@ -154,7 +154,7 @@ public abstract class AbstractRangerAuditWriter implements RangerAuditWriter {
 
         String logFolderProp = MiscUtil.getStringProperty(props, propPrefix	+ "." + PROP_FILESYSTEM_DIR);
         if (StringUtils.isEmpty(logFolderProp)) {
-            logger.fatal("File destination folder is not configured. Please set "
+            logger.error("File destination folder is not configured. Please set "
                     + propPrefix + "."
                     + PROP_FILESYSTEM_DIR + ". name="
                     + auditProviderName);
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/utils/KerberosAction.java b/agents-audit/src/main/java/org/apache/ranger/audit/utils/KerberosAction.java
index 18861b1..1bbbca8 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/utils/KerberosAction.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/utils/KerberosAction.java
@@ -20,7 +20,7 @@
 package org.apache.ranger.audit.utils;
 
 import org.apache.commons.lang3.Validate;
-import org.apache.commons.logging.Log;
+import org.slf4j.Logger;
 
 import javax.security.auth.login.LoginException;
 import java.security.PrivilegedActionException;
@@ -33,11 +33,11 @@ public class KerberosAction<T> {
 
     private final KerberosUser kerberosUser;
     private final PrivilegedExceptionAction<T> action;
-    private final Log logger;
+    private final Logger logger;
 
     public KerberosAction(final KerberosUser kerberosUser,
                           final PrivilegedExceptionAction<T> action,
-                          final Log logger) {
+                          final Logger logger) {
         this.kerberosUser = kerberosUser;
         this.action = action;
         this.logger = logger;
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/utils/ORCFileUtil.java b/agents-audit/src/main/java/org/apache/ranger/audit/utils/ORCFileUtil.java
index 2e4378d..061c324 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/utils/ORCFileUtil.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/utils/ORCFileUtil.java
@@ -20,8 +20,6 @@ package org.apache.ranger.audit.utils;
  */
 
 import com.google.gson.annotations.SerializedName;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -33,6 +31,8 @@ import org.apache.orc.TypeDescription;
 import org.apache.orc.Writer;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.audit.model.EnumRepositoryType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.lang.reflect.Field;
 import java.util.ArrayList;
@@ -45,7 +45,7 @@ import java.text.SimpleDateFormat;
 
 public class ORCFileUtil {
 
-    private static final Log logger = LogFactory.getLog(ORCFileUtil.class);
+    private static final Logger logger = LoggerFactory.getLogger(ORCFileUtil.class);
 
     private static volatile      ORCFileUtil  me    = null;
     protected CompressionKind    defaultCompression = CompressionKind.SNAPPY;
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/utils/RangerJSONAuditWriter.java b/agents-audit/src/main/java/org/apache/ranger/audit/utils/RangerJSONAuditWriter.java
index bc7bb46..eb3ea77 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/utils/RangerJSONAuditWriter.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/utils/RangerJSONAuditWriter.java
@@ -19,9 +19,9 @@ package org.apache.ranger.audit.utils;
  * under the License.
  */
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.PrintWriter;
@@ -35,7 +35,7 @@ import java.util.Properties;
  */
 public class RangerJSONAuditWriter extends AbstractRangerAuditWriter {
 
-    private static final Log logger = LogFactory.getLog(RangerJSONAuditWriter.class);
+    private static final Logger logger = LoggerFactory.getLogger(RangerJSONAuditWriter.class);
 
     protected String JSON_FILE_EXTENSION = ".log";
 
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/utils/RangerORCAuditWriter.java b/agents-audit/src/main/java/org/apache/ranger/audit/utils/RangerORCAuditWriter.java
index a3cd140..26d2b43 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/utils/RangerORCAuditWriter.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/utils/RangerORCAuditWriter.java
@@ -19,11 +19,11 @@
 
 package org.apache.ranger.audit.utils;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.orc.Writer;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.audit.provider.MiscUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.security.PrivilegedExceptionAction;
@@ -37,7 +37,7 @@ import java.util.Properties;
  *  Refer README.TXT for enabling ORCWriter.
  */
 public class RangerORCAuditWriter extends AbstractRangerAuditWriter {
-    private static final Log logger = LogFactory.getLog(RangerORCAuditWriter.class);
+    private static final Logger logger = LoggerFactory.getLogger(RangerORCAuditWriter.class);
 
     protected static final String ORC_FILE_EXTENSION = ".orc";
     protected volatile ORCFileUtil orcFileUtil       = null;
diff --git a/agents-common/conf/log4j.properties b/agents-common/conf/log4j.properties
deleted file mode 100644
index dd22c6d..0000000
--- a/agents-common/conf/log4j.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-log4j.logger.xaaudit.org.apache.ranger.audit.provider.Log4jAuditProvider=INFO, hdfsAppender
-
-
-log4j.appender.hdfsAppender=org.apache.log4j.HdfsRollingFileAppender
-log4j.appender.hdfsAppender.hdfsDestinationDirectory=hdfs://%hostname%:8020/logs/application/%file-open-time:yyyyMMdd%
-log4j.appender.hdfsAppender.hdfsDestinationFile=%hostname%-audit.log
-log4j.appender.hdfsAppender.hdfsDestinationRolloverIntervalSeconds=86400
-
-log4j.appender.hdfsAppender.localFileBufferDirectory=/tmp/logs/application/%hostname%
-log4j.appender.hdfsAppender.localFileBufferFile=%file-open-time:yyyyMMdd-HHmm.ss%.log
-log4j.appender.hdfsAppender.localFileBufferRolloverIntervalSeconds=15
-log4j.appender.hdfsAppender.localFileBufferArchiveDirectory=/tmp/logs/archive/application/%hostname%
-log4j.appender.hdfsAppender.localFileBufferArchiveFileCount=12
-
-
-log4j.appender.hdfsAppender.layout=org.apache.log4j.PatternLayout
-log4j.appender.hdfsAppender.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} [%t]: %p %c{2}: %m%n
-log4j.appender.hdfsAppender.encoding=UTF-8
diff --git a/agents-common/conf/logback.xml b/agents-common/conf/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/agents-common/conf/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/agents-common/pom.xml b/agents-common/pom.xml
index ba9a18c..ac7fe6f 100644
--- a/agents-common/pom.xml
+++ b/agents-common/pom.xml
@@ -54,11 +54,6 @@
             <version>${commons.lang.version}</version>
         </dependency>
         <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>${commons.logging.version}</version>
-        </dependency>
-        <dependency>
             <groupId>com.nimbusds</groupId>
             <artifactId>nimbus-jose-jwt</artifactId>
             <version>${nimbus-jose-jwt.version}</version>
@@ -85,12 +80,21 @@
                    <groupId>io.netty</groupId>
                    <artifactId>netty-transport-native-epoll</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>${log4j.version}</version>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
diff --git a/agents-common/src/main/java/org/apache/hadoop/security/SecureClientLogin.java b/agents-common/src/main/java/org/apache/hadoop/security/SecureClientLogin.java
index e4d6a39..8c2a0ba 100644
--- a/agents-common/src/main/java/org/apache/hadoop/security/SecureClientLogin.java
+++ b/agents-common/src/main/java/org/apache/hadoop/security/SecureClientLogin.java
@@ -32,15 +32,15 @@ import javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag;
 import javax.security.auth.login.LoginContext;
 import javax.security.auth.login.LoginException;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;
 import org.apache.hadoop.security.authentication.util.KerberosUtil;
 import org.apache.hadoop.security.authentication.util.KerberosName;
 import org.apache.hadoop.util.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class SecureClientLogin {
-	private static final Log LOG = LogFactory.getLog(SecureClientLogin.class);
+	private static final Logger LOG = LoggerFactory.getLogger(SecureClientLogin.class);
 	public static final String HOSTNAME_PATTERN = "_HOST";
 
 	public synchronized static Subject loginUserFromKeytab(String user, String path) throws IOException {
diff --git a/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java b/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
index cf7e9cf..a787c78 100644
--- a/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
+++ b/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
@@ -23,8 +23,6 @@
 import com.sun.jersey.api.client.ClientResponse;
 import com.sun.jersey.api.client.GenericType;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.AccessControlException;
 import org.apache.hadoop.security.UserGroupInformation;
@@ -34,6 +32,8 @@ import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.authorization.utils.StringUtil;
 import org.apache.ranger.plugin.model.RangerRole;
 import org.apache.ranger.plugin.util.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.ws.rs.core.Cookie;
@@ -47,7 +47,7 @@ import java.util.List;
 import java.util.Map;
 
 public class RangerAdminRESTClient extends AbstractRangerAdminClient {
-	private static final Log LOG = LogFactory.getLog(RangerAdminRESTClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAdminRESTClient.class);
 
 	private String           serviceName;
     private String           serviceNameUrlParam;
diff --git a/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/RESTResponse.java b/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/RESTResponse.java
index 75c2c9f..d5ec66b 100644
--- a/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/RESTResponse.java
+++ b/agents-common/src/main/java/org/apache/ranger/admin/client/datatype/RESTResponse.java
@@ -20,13 +20,14 @@ package org.apache.ranger.admin.client.datatype;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.authorization.utils.StringUtil;
 import org.apache.ranger.plugin.util.JsonUtilsV2;
 import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnoreProperties;
 import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.sun.jersey.api.client.ClientResponse;
 
@@ -35,7 +36,7 @@ import com.sun.jersey.api.client.ClientResponse;
 @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class RESTResponse implements java.io.Serializable {
-	private static final Logger LOG = Logger.getLogger(RESTResponse.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RESTResponse.class);
 
 	/**
 	 * values for statusCode
diff --git a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAdminConfig.java b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAdminConfig.java
index af47a20..30a80f2 100644
--- a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAdminConfig.java
+++ b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAdminConfig.java
@@ -20,12 +20,13 @@
 package org.apache.ranger.authorization.hadoop.config;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.security.KeyStore;
 
 public class RangerAdminConfig extends RangerConfiguration {
-    private static final Logger LOG = Logger.getLogger(RangerAdminConfig.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerAdminConfig.class);
 
     private static volatile RangerAdminConfig sInstance = null;
     private final boolean isFipsEnabled;
diff --git a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAuditConfig.java b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAuditConfig.java
index d6ba00a..b132207 100644
--- a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAuditConfig.java
+++ b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAuditConfig.java
@@ -19,10 +19,11 @@
 
 package org.apache.ranger.authorization.hadoop.config;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerAuditConfig extends RangerConfiguration {
-    private static final Logger LOG = Logger.getLogger(RangerAuditConfig.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerAuditConfig.class);
 
     private final boolean initSuccess;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerChainedPluginConfig.java b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerChainedPluginConfig.java
index de2aff1..8507e99 100644
--- a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerChainedPluginConfig.java
+++ b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerChainedPluginConfig.java
@@ -20,12 +20,12 @@
 package org.apache.ranger.authorization.hadoop.config;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerChainedPluginConfig extends RangerPluginConfig {
 
-    private static final Log LOG = LogFactory.getLog(RangerChainedPluginConfig.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerChainedPluginConfig.class);
 
     private final String[] legacySSLProperties           = new String[] {"xasecure.policymgr.clientssl.keystore", "xasecure.policymgr.clientssl.keystore.type", "xasecure.policymgr.clientssl.keystore.credential.file","xasecure.policymgr.clientssl.truststore", "xasecure.policymgr.clientssl.truststore.credential.file", "hadoop.security.credential.provider.path"};
     private final String[] chainedPluginPropertyPrefixes = new String[] { ".chained.services"};
diff --git a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerConfiguration.java b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerConfiguration.java
index b49c5f6..9479b88 100644
--- a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerConfiguration.java
+++ b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerConfiguration.java
@@ -27,11 +27,12 @@ import java.util.Properties;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class RangerConfiguration extends Configuration {
-	private static final Logger LOG = Logger.getLogger(RangerConfiguration.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerConfiguration.class);
 
 	protected RangerConfiguration() {
 		super(false);
diff --git a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerLegacyConfigBuilder.java b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerLegacyConfigBuilder.java
index 8b6382c..95aa57c 100644
--- a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerLegacyConfigBuilder.java
+++ b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerLegacyConfigBuilder.java
@@ -25,12 +25,13 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.hadoop.conf.Configuration;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerLegacyConfigBuilder {
 
-	private static final Logger LOG = Logger.getLogger(RangerLegacyConfigBuilder.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerLegacyConfigBuilder.class);
 
 	static String serviceType;
 	static String legacyResource;
diff --git a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerPluginConfig.java b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerPluginConfig.java
index f7478c6..ad1ce09 100644
--- a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerPluginConfig.java
+++ b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerPluginConfig.java
@@ -22,9 +22,10 @@ package org.apache.ranger.authorization.hadoop.config;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.log4j.Logger;
 import org.apache.ranger.authorization.utils.StringUtil;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.net.URL;
@@ -34,7 +35,7 @@ import java.util.Set;
 
 
 public class RangerPluginConfig extends RangerConfiguration {
-    private static final Logger LOG = Logger.getLogger(RangerPluginConfig.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerPluginConfig.class);
 
     private static final char RANGER_TRUSTED_PROXY_IPADDRESSES_SEPARATOR_CHAR = ',';
 
@@ -115,7 +116,7 @@ public class RangerPluginConfig extends RangerConfiguration {
 
         this.policyEngineOptions = policyEngineOptions;
 
-        LOG.info(policyEngineOptions);
+        LOG.info("" + policyEngineOptions);
     }
 
     protected RangerPluginConfig(String serviceType, String serviceName, String appId, RangerPluginConfig sourcePluginConfig) {
diff --git a/agents-common/src/main/java/org/apache/ranger/authorization/utils/JsonUtils.java b/agents-common/src/main/java/org/apache/ranger/authorization/utils/JsonUtils.java
index 00c9ab0..08874d2 100644
--- a/agents-common/src/main/java/org/apache/ranger/authorization/utils/JsonUtils.java
+++ b/agents-common/src/main/java/org/apache/ranger/authorization/utils/JsonUtils.java
@@ -23,18 +23,18 @@ import com.google.gson.reflect.TypeToken;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.AuditFilter;
 import org.apache.ranger.plugin.model.RangerValidityRecurrence;
 import org.apache.ranger.plugin.model.RangerValiditySchedule;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.lang.reflect.Type;
 import java.util.List;
 import java.util.Map;
 
 public class JsonUtils {
-    private static final Log LOG = LogFactory.getLog(JsonUtils.class);
+    private static final Logger LOG = LoggerFactory.getLogger(JsonUtils.class);
 
     private static final ThreadLocal<Gson> gson = new ThreadLocal<Gson>() {
         @Override
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java b/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java
index 4273726..838cfad 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java
@@ -25,8 +25,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.audit.provider.AuditHandler;
@@ -38,10 +36,12 @@ import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.apache.ranger.plugin.util.JsonUtilsV2;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.RangerRESTUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class RangerDefaultAuditHandler implements RangerAccessResultProcessor {
-	private static final Log LOG = LogFactory.getLog(RangerDefaultAuditHandler.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerDefaultAuditHandler.class);
 
 	private static final String       CONF_AUDIT_ID_STRICT_UUID     = "xasecure.audit.auditid.strict.uuid";
 	private static final boolean      DEFAULT_AUDIT_ID_STRICT_UUID  = false;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerMultiResourceAuditHandler.java b/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerMultiResourceAuditHandler.java
index d7e6376..c657cce 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerMultiResourceAuditHandler.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerMultiResourceAuditHandler.java
@@ -22,12 +22,12 @@ package org.apache.ranger.plugin.audit;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerMultiResourceAuditHandler extends RangerDefaultAuditHandler {
-	private static final Log LOG = LogFactory.getLog(RangerMultiResourceAuditHandler.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerMultiResourceAuditHandler.class);
 
 	Collection<AuthzAuditEvent> auditEvents = new ArrayList<>();
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/client/BaseClient.java b/agents-common/src/main/java/org/apache/ranger/plugin/client/BaseClient.java
index ed002ef..b1628f2 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/client/BaseClient.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/client/BaseClient.java
@@ -27,13 +27,13 @@ import java.util.Map;
 import javax.security.auth.Subject;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.security.SecureClientLogin;
 import org.apache.ranger.plugin.util.PasswordUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public abstract class BaseClient {
-	private static final Log LOG = LogFactory.getLog(BaseClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(BaseClient.class);
 
 
 	private static final String DEFAULT_NAME_RULE = "DEFAULT";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/client/HadoopConfigHolder.java b/agents-common/src/main/java/org/apache/ranger/plugin/client/HadoopConfigHolder.java
index a065a8d..492dbcd 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/client/HadoopConfigHolder.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/client/HadoopConfigHolder.java
@@ -28,12 +28,12 @@ import java.util.Properties;
 import java.util.Set;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.security.SecureClientLogin;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HadoopConfigHolder  {
-	private static final Log LOG = LogFactory.getLog(HadoopConfigHolder.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HadoopConfigHolder.class);
 	public static final String GLOBAL_LOGIN_PARAM_PROP_FILE = "hadoop-login.properties";
 	public static final String DEFAULT_DATASOURCE_PARAM_PROP_FILE = "datasource.properties";
 	public static final String RESOURCEMAP_PROP_FILE = "resourcenamemap.properties";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedFromClusterCondition.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedFromClusterCondition.java
index e5cc916..3538b87 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedFromClusterCondition.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedFromClusterCondition.java
@@ -20,13 +20,13 @@
 package org.apache.ranger.plugin.conditionevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class RangerAccessedFromClusterCondition extends RangerAbstractConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerAccessedFromClusterCondition.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAccessedFromClusterCondition.class);
 
 	private boolean isAlwaysTrue = false;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedFromClusterTypeCondition.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedFromClusterTypeCondition.java
index 50a92bd..9e0a01f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedFromClusterTypeCondition.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedFromClusterTypeCondition.java
@@ -19,11 +19,12 @@
 package org.apache.ranger.plugin.conditionevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 public class RangerAccessedFromClusterTypeCondition extends RangerAbstractConditionEvaluator{
-	private static final Log LOG = LogFactory.getLog(RangerAccessedFromClusterTypeCondition.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAccessedFromClusterTypeCondition.class);
 
 	private boolean isAlwaysTrue = false;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedNotFromClusterCondition.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedNotFromClusterCondition.java
index d8e966c..c0850f0 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedNotFromClusterCondition.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedNotFromClusterCondition.java
@@ -20,13 +20,13 @@
 package org.apache.ranger.plugin.conditionevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class RangerAccessedNotFromClusterCondition extends RangerAbstractConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerAccessedNotFromClusterCondition.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAccessedNotFromClusterCondition.class);
 
 	private boolean isAlwaysTrue = false;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedNotFromClusterTypeCondition.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedNotFromClusterTypeCondition.java
index eb6c45c..fe88296 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedNotFromClusterTypeCondition.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAccessedNotFromClusterTypeCondition.java
@@ -19,12 +19,12 @@
 package org.apache.ranger.plugin.conditionevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerAccessedNotFromClusterTypeCondition extends RangerAbstractConditionEvaluator{
-	private static final Log LOG = LogFactory.getLog(RangerAccessedNotFromClusterTypeCondition.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAccessedNotFromClusterTypeCondition.class);
 
 	private boolean isAlwaysTrue = false;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAnyOfExpectedTagsPresentConditionEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAnyOfExpectedTagsPresentConditionEvaluator.java
index 15826d1..bf57fb4 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAnyOfExpectedTagsPresentConditionEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerAnyOfExpectedTagsPresentConditionEvaluator.java
@@ -19,10 +19,10 @@
 
 package org.apache.ranger.plugin.conditionevaluator;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerRequestScriptEvaluator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Collections;
 import java.util.HashSet;
@@ -32,7 +32,7 @@ import java.util.Set;
 
 public class RangerAnyOfExpectedTagsPresentConditionEvaluator extends RangerAbstractConditionEvaluator {
 
-	private static final Log LOG = LogFactory.getLog(RangerAnyOfExpectedTagsPresentConditionEvaluator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAnyOfExpectedTagsPresentConditionEvaluator.class);
 
 	private final Set<String> policyConditionTags = new HashSet<>();
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerContextAttributeValueInCondition.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerContextAttributeValueInCondition.java
index 316cdb5..5346fbd 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerContextAttributeValueInCondition.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerContextAttributeValueInCondition.java
@@ -21,14 +21,14 @@ package org.apache.ranger.plugin.conditionevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Map;
 
 public class RangerContextAttributeValueInCondition extends RangerAbstractConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerContextAttributeValueInCondition.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerContextAttributeValueInCondition.class);
 
 	protected String attributeName;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerContextAttributeValueNotInCondition.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerContextAttributeValueNotInCondition.java
index 7df73df..f11eb7e 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerContextAttributeValueNotInCondition.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerContextAttributeValueNotInCondition.java
@@ -21,14 +21,14 @@ package org.apache.ranger.plugin.conditionevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Map;
 
 public class RangerContextAttributeValueNotInCondition extends RangerAbstractConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerContextAttributeValueNotInCondition.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerContextAttributeValueNotInCondition.class);
 
 	protected String attributeName;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerHiveResourcesAccessedTogetherCondition.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerHiveResourcesAccessedTogetherCondition.java
index 960efbe..3ea5de6 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerHiveResourcesAccessedTogetherCondition.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerHiveResourcesAccessedTogetherCondition.java
@@ -21,8 +21,6 @@ package org.apache.ranger.plugin.conditionevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyresourcematcher.RangerDefaultPolicyResourceMatcher;
@@ -30,6 +28,8 @@ import org.apache.ranger.plugin.policyresourcematcher.RangerPolicyResourceMatche
 import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.RangerRequestedResources;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -37,7 +37,7 @@ import java.util.List;
 import java.util.Map;
 
 public class RangerHiveResourcesAccessedTogetherCondition extends RangerAbstractConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerHiveResourcesAccessedTogetherCondition.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerHiveResourcesAccessedTogetherCondition.class);
 
 	private List<RangerPolicyResourceMatcher> matchers = new ArrayList<>();
 	private boolean isInitialized;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerHiveResourcesNotAccessedTogetherCondition.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerHiveResourcesNotAccessedTogetherCondition.java
index fb2ba2e..7a82191 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerHiveResourcesNotAccessedTogetherCondition.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerHiveResourcesNotAccessedTogetherCondition.java
@@ -21,8 +21,6 @@ package org.apache.ranger.plugin.conditionevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyresourcematcher.RangerDefaultPolicyResourceMatcher;
@@ -30,6 +28,8 @@ import org.apache.ranger.plugin.policyresourcematcher.RangerPolicyResourceMatche
 import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.RangerRequestedResources;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -37,7 +37,7 @@ import java.util.List;
 import java.util.Map;
 
 public class RangerHiveResourcesNotAccessedTogetherCondition extends RangerAbstractConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerHiveResourcesNotAccessedTogetherCondition.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerHiveResourcesNotAccessedTogetherCondition.class);
 
 	private List<RangerPolicyResourceMatcher> matchers = new ArrayList<>();
 	private boolean isInitialized;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerIpMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerIpMatcher.java
index 03d09a4..f2a0773 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerIpMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerIpMatcher.java
@@ -27,16 +27,16 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Credits: Large parts of this file have been lifted as is from org.apache.ranger.pdp.knox.URLBasedAuthDB.  Credits for those are due to Dilli Arumugam.
  * @author alal
  */
 public class RangerIpMatcher extends RangerAbstractConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerIpMatcher.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerIpMatcher.class);
 	private List<String> _exactIps = new ArrayList<>();
 	private List<String> _wildCardIps = new ArrayList<>();
 	private boolean _allowAny;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerNoneOfExpectedTagsPresentConditionEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerNoneOfExpectedTagsPresentConditionEvaluator.java
index 9e6230d..938836f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerNoneOfExpectedTagsPresentConditionEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerNoneOfExpectedTagsPresentConditionEvaluator.java
@@ -19,10 +19,10 @@
 
 package org.apache.ranger.plugin.conditionevaluator;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerRequestScriptEvaluator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Collections;
 import java.util.HashSet;
@@ -32,7 +32,7 @@ import java.util.Set;
 
 public class RangerNoneOfExpectedTagsPresentConditionEvaluator extends RangerAbstractConditionEvaluator {
 
-	private static final Log LOG = LogFactory.getLog(RangerNoneOfExpectedTagsPresentConditionEvaluator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerNoneOfExpectedTagsPresentConditionEvaluator.class);
 
 	private final Set<String> policyConditionTags = new HashSet<>();
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerScriptConditionEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerScriptConditionEvaluator.java
index 2b6b75f..0f81f72 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerScriptConditionEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerScriptConditionEvaluator.java
@@ -22,11 +22,11 @@ package org.apache.ranger.plugin.conditionevaluator;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerRequestScriptEvaluator;
 import org.apache.ranger.plugin.util.ScriptEngineUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.script.ScriptEngine;
 import java.util.List;
@@ -35,7 +35,7 @@ import java.util.Map;
 import static org.apache.ranger.plugin.util.RangerCommonConstants.*;
 
 public class RangerScriptConditionEvaluator extends RangerAbstractConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerScriptConditionEvaluator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerScriptConditionEvaluator.class);
 
 	private ScriptEngine scriptEngine;
 	private Boolean      enableJsonCtx = null;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerScriptTemplateConditionEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerScriptTemplateConditionEvaluator.java
index e885920..745b906 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerScriptTemplateConditionEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerScriptTemplateConditionEvaluator.java
@@ -22,12 +22,12 @@ package org.apache.ranger.plugin.conditionevaluator;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerScriptTemplateConditionEvaluator extends RangerScriptConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerScriptTemplateConditionEvaluator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerScriptTemplateConditionEvaluator.class);
 
 	protected String  script;
 	private   boolean reverseResult;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerTagsAllPresentConditionEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerTagsAllPresentConditionEvaluator.java
index c8edf32..82b59d2 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerTagsAllPresentConditionEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerTagsAllPresentConditionEvaluator.java
@@ -20,10 +20,10 @@
 package org.apache.ranger.plugin.conditionevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerRequestScriptEvaluator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -31,7 +31,7 @@ import java.util.Set;
 
 public class RangerTagsAllPresentConditionEvaluator extends RangerAbstractConditionEvaluator {
 
-	private static final Log LOG = LogFactory.getLog(RangerTagsAllPresentConditionEvaluator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerTagsAllPresentConditionEvaluator.class);
 
 	private final Set<String> policyConditionTags = new HashSet<>();
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerTimeOfDayMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerTimeOfDayMatcher.java
index aa8f9c6..652005b 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerTimeOfDayMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/conditionevaluator/RangerTimeOfDayMatcher.java
@@ -30,12 +30,12 @@ import java.util.regex.Pattern;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerTimeOfDayMatcher extends RangerAbstractConditionEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerTimeOfDayMatcher.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerTimeOfDayMatcher.class);
 	boolean _allowAny;
 	List<int[]> _durations = new ArrayList<>();
 	
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
index 55a9a78..f65a0cf 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
@@ -29,8 +29,6 @@ import java.util.Map;
 import java.util.Properties;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.model.RangerServiceDef;
@@ -39,10 +37,12 @@ import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerPluginContext;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
 import org.apache.ranger.plugin.service.RangerAuthContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public abstract class RangerAbstractContextEnricher implements RangerContextEnricher {
-	private static final Log LOG = LogFactory.getLog(RangerAbstractContextEnricher.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAbstractContextEnricher.class);
 
 	protected RangerContextEnricherDef enricherDef;
 	protected String                   serviceName;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractGeolocationProvider.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractGeolocationProvider.java
index d6a0412..eb2e507 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractGeolocationProvider.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractGeolocationProvider.java
@@ -20,18 +20,18 @@
 package org.apache.ranger.plugin.contextenricher;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.geo.RangerGeolocationData;
 import org.apache.ranger.plugin.geo.RangerGeolocationDatabase;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.store.GeolocationStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Map;
 
 public abstract class RangerAbstractGeolocationProvider extends RangerAbstractContextEnricher {
 
-	private static final Log LOG = LogFactory.getLog(RangerAbstractGeolocationProvider.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAbstractGeolocationProvider.class);
 
 	public static final String ENRICHER_OPTION_GEOLOCATION_META_PREFIX = "geolocation.meta.prefix";
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminTagRetriever.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminTagRetriever.java
index ef941bd..1df5587 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminTagRetriever.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminTagRetriever.java
@@ -20,18 +20,18 @@
 package org.apache.ranger.plugin.contextenricher;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.admin.client.RangerAdminClient;
 import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.policyengine.RangerPluginContext;
 import org.apache.ranger.plugin.util.ServiceTags;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.nio.channels.ClosedByInterruptException;
 import java.util.Map;
 
 public class RangerAdminTagRetriever extends RangerTagRetriever {
-	private static final Log LOG = LogFactory.getLog(RangerAdminTagRetriever.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAdminTagRetriever.class);
 
 	private RangerAdminClient adminClient;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminUserStoreRetriever.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminUserStoreRetriever.java
index c75a5cd..e288649 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminUserStoreRetriever.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminUserStoreRetriever.java
@@ -20,18 +20,18 @@
 package org.apache.ranger.plugin.contextenricher;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.admin.client.RangerAdminClient;
 import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.policyengine.RangerPluginContext;
 import org.apache.ranger.plugin.util.RangerUserStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.nio.channels.ClosedByInterruptException;
 import java.util.Map;
 
 public class RangerAdminUserStoreRetriever extends RangerUserStoreRetriever {
-    private static final Log LOG = LogFactory.getLog(RangerAdminUserStoreRetriever.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerAdminUserStoreRetriever.class);
 
     private RangerAdminClient adminClient;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerFileBasedTagRetriever.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerFileBasedTagRetriever.java
index ab3b4a7..448c665 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerFileBasedTagRetriever.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerFileBasedTagRetriever.java
@@ -22,9 +22,9 @@ package org.apache.ranger.plugin.contextenricher;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.util.ServiceTags;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.*;
 import java.net.MalformedURLException;
@@ -33,7 +33,7 @@ import java.nio.charset.Charset;
 import java.util.Map;
 
 public class RangerFileBasedTagRetriever extends RangerTagRetriever {
-	private static final Log LOG = LogFactory.getLog(RangerFileBasedTagRetriever.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerFileBasedTagRetriever.class);
 
 
 	private URL serviceTagsFileURL;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
index 6b0451e..c3d1e7d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
@@ -24,8 +24,6 @@ import com.google.gson.GsonBuilder;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerServiceDef;
@@ -49,6 +47,8 @@ import org.apache.ranger.plugin.util.RangerReadWriteLock;
 import org.apache.ranger.plugin.util.RangerServiceNotFoundException;
 import org.apache.ranger.plugin.util.RangerServiceTagsDeltaUtil;
 import org.apache.ranger.plugin.util.ServiceTags;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.FileReader;
@@ -69,11 +69,11 @@ import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 
 public class RangerTagEnricher extends RangerAbstractContextEnricher {
-	private static final Log LOG = LogFactory.getLog(RangerTagEnricher.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerTagEnricher.class);
 
-	private static final Log PERF_CONTEXTENRICHER_INIT_LOG = RangerPerfTracer.getPerfLogger("contextenricher.init");
-	private static final Log PERF_TRIE_OP_LOG              = RangerPerfTracer.getPerfLogger("resourcetrie.retrieval");
-	private static final Log PERF_SET_SERVICETAGS_LOG      = RangerPerfTracer.getPerfLogger("tagenricher.setservicetags");
+	private static final Logger PERF_CONTEXTENRICHER_INIT_LOG = RangerPerfTracer.getPerfLogger("contextenricher.init");
+	private static final Logger PERF_TRIE_OP_LOG              = RangerPerfTracer.getPerfLogger("resourcetrie.retrieval");
+	private static final Logger PERF_SET_SERVICETAGS_LOG      = RangerPerfTracer.getPerfLogger("tagenricher.setservicetags");
 
 
 	private static final String TAG_REFRESHER_POLLINGINTERVAL_OPTION = "tagRefresherPollingInterval";
@@ -896,7 +896,7 @@ public class RangerTagEnricher extends RangerAbstractContextEnricher {
 	}
 
 	static class RangerTagRefresher extends Thread {
-		private static final Log LOG = LogFactory.getLog(RangerTagRefresher.class);
+		private static final Logger LOG = LoggerFactory.getLogger(RangerTagRefresher.class);
 
 		private final RangerTagRetriever tagRetriever;
 		private final RangerTagEnricher tagEnricher;
@@ -917,7 +917,7 @@ public class RangerTagEnricher extends RangerAbstractContextEnricher {
 			try {
 				gson = new GsonBuilder().setDateFormat("yyyyMMdd-HH:mm:ss.SSS-Z").create();
 			} catch(Throwable excp) {
-				LOG.fatal("failed to create GsonBuilder object", excp);
+				LOG.error("failed to create GsonBuilder object", excp);
 			}
 			setName("RangerTagRefresher(serviceName=" + tagRetriever.getServiceName() + ")-" + getId());
 		}
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagForEval.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagForEval.java
index 3f0db31..1c634b3 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagForEval.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagForEval.java
@@ -21,8 +21,6 @@ package org.apache.ranger.plugin.contextenricher;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.plugin.model.RangerTag;
 import org.apache.ranger.plugin.model.RangerValiditySchedule;
@@ -32,6 +30,8 @@ import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
 import org.codehaus.jackson.annotate.JsonIgnoreProperties;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -53,7 +53,7 @@ import java.util.Map;
 // from JSON specification
 
 public class RangerTagForEval implements Serializable {
-    private static final Log LOG = LogFactory.getLog(RangerTagForEval.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerTagForEval.class);
 
     private String                                type;
     private Map<String, String>                   attributes;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
index 22f036b..315328d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
@@ -20,8 +20,6 @@
 package org.apache.ranger.plugin.contextenricher;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.service.RangerAuthContext;
 import org.apache.ranger.plugin.util.DownloaderTask;
@@ -29,15 +27,17 @@ import org.apache.ranger.plugin.util.DownloadTrigger;
 import org.apache.ranger.plugin.util.RangerUserStore;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import java.io.File;
 import java.util.Timer;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 
 public class RangerUserStoreEnricher extends RangerAbstractContextEnricher {
-    private static final Log LOG = LogFactory.getLog(RangerUserStoreEnricher.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerUserStoreEnricher.class);
 
-    private static final Log PERF_SET_USERSTORE_LOG      = RangerPerfTracer.getPerfLogger("userstoreenricher.setuserstore");
+    private static final Logger PERF_SET_USERSTORE_LOG      = RangerPerfTracer.getPerfLogger("userstoreenricher.setuserstore");
 
 
     private static final String USERSTORE_REFRESHER_POLLINGINTERVAL_OPTION = "userStoreRefresherPollingInterval";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreRefresher.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreRefresher.java
index 7d0521d..fe0b923 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreRefresher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreRefresher.java
@@ -22,8 +22,6 @@ import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.sun.jersey.api.client.ClientResponse;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.ranger.admin.client.datatype.RESTResponse;
 import org.apache.ranger.audit.provider.MiscUtil;
@@ -33,6 +31,8 @@ import org.apache.ranger.plugin.util.RangerRESTClient;
 import org.apache.ranger.plugin.util.RangerUserStore;
 import org.apache.ranger.plugin.util.RangerServiceNotFoundException;
 import org.apache.ranger.plugin.util.RangerRESTUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.File;
@@ -47,8 +47,8 @@ import java.util.Map;
 import java.util.concurrent.BlockingQueue;
 
 public class RangerUserStoreRefresher extends Thread {
-    private static final Log LOG = LogFactory.getLog(RangerUserStoreRefresher.class);
-    private static final Log PERF_REFRESHER_INIT_LOG = RangerPerfTracer.getPerfLogger("userstore.init");
+    private static final Logger LOG = LoggerFactory.getLogger(RangerUserStoreRefresher.class);
+    private static final Logger PERF_REFRESHER_INIT_LOG = RangerPerfTracer.getPerfLogger("userstore.init");
 
     private final RangerUserStoreRetriever userStoreRetriever;
     private final RangerUserStoreEnricher userStoreEnricher;
@@ -73,7 +73,7 @@ public class RangerUserStoreRefresher extends Thread {
         try {
             gson = new GsonBuilder().setDateFormat("yyyyMMdd-HH:mm:ss.SSS-Z").create();
         } catch(Throwable excp) {
-            LOG.fatal("failed to create GsonBuilder object", excp);
+            LOG.error("failed to create GsonBuilder object", excp);
         }
         setName("RangerUserStoreRefresher(serviceName=" + userStoreRetriever.getServiceName() + ")-" + getId());
     }
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java b/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java
index df45329..f44b9d9 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java
@@ -19,8 +19,8 @@
 
 package org.apache.ranger.plugin.errors;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.text.MessageFormat;
 import java.util.Arrays;
@@ -136,7 +136,7 @@ public enum ValidationErrorCode {
     ;
 
 
-    private static final Log LOG = LogFactory.getLog(ValidationErrorCode.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ValidationErrorCode.class);
 
     final int _errorCode;
     final String _template;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/geo/GeolocationMetadata.java b/agents-common/src/main/java/org/apache/ranger/plugin/geo/GeolocationMetadata.java
index 1142dcc..80001c0 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/geo/GeolocationMetadata.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/geo/GeolocationMetadata.java
@@ -20,11 +20,11 @@
 package org.apache.ranger.plugin.geo;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class GeolocationMetadata {
-	private static final Log LOG = LogFactory.getLog(GeolocationMetadata.class);
+	private static final Logger LOG = LoggerFactory.getLogger(GeolocationMetadata.class);
 
 	private String[] locationDataItemNames = new String[0];
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/geo/RangerGeolocationData.java b/agents-common/src/main/java/org/apache/ranger/plugin/geo/RangerGeolocationData.java
index 869d316..3ea88a3 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/geo/RangerGeolocationData.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/geo/RangerGeolocationData.java
@@ -20,15 +20,15 @@
 package org.apache.ranger.plugin.geo;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.Objects;
 
 public class RangerGeolocationData implements Comparable<RangerGeolocationData>, RangeChecker<Long> {
-	private static final Log LOG = LogFactory.getLog(RangerGeolocationData.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerGeolocationData.class);
 
 	private static final Character IPSegmentsSeparator = '.';
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/geo/RangerGeolocationDatabase.java b/agents-common/src/main/java/org/apache/ranger/plugin/geo/RangerGeolocationDatabase.java
index 98c55cc..59e9d63 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/geo/RangerGeolocationDatabase.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/geo/RangerGeolocationDatabase.java
@@ -20,11 +20,11 @@
 package org.apache.ranger.plugin.geo;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerGeolocationDatabase {
-	private static final Log LOG = LogFactory.getLog(RangerGeolocationDatabase.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerGeolocationDatabase.class);
 
 	private BinarySearchTree<RangerGeolocationData, Long> data = new BinarySearchTree<>();
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/geo/ValuePrinter.java b/agents-common/src/main/java/org/apache/ranger/plugin/geo/ValuePrinter.java
index cc429a2..3ed0772 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/geo/ValuePrinter.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/geo/ValuePrinter.java
@@ -20,13 +20,13 @@
 package org.apache.ranger.plugin.geo;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.*;
 
 class ValuePrinter<T> implements ValueProcessor<T> {
-	private static final Log LOG = LogFactory.getLog(ValuePrinter.class);
+	private static final Logger LOG = LoggerFactory.getLogger(ValuePrinter.class);
 
 	private Writer writer;
 	private String fileName;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyResourceSignature.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyResourceSignature.java
index a2f4b9a..260a3b8 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyResourceSignature.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerPolicyResourceSignature.java
@@ -29,17 +29,17 @@ import java.util.TreeMap;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.authorization.hadoop.config.RangerAdminConfig;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemCondition;
 import org.apache.solr.common.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerPolicyResourceSignature {
 
 	static final int _SignatureVersion = 1;
-	private static final Log LOG = LogFactory.getLog(RangerPolicyResourceSignature.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerPolicyResourceSignature.class);
 	static final RangerPolicyResourceSignature _EmptyResourceSignature = new RangerPolicyResourceSignature((RangerPolicy)null);
 	
 	private final String _string;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerPolicyValidator.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerPolicyValidator.java
index 0519227..fb6556b 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerPolicyValidator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerPolicyValidator.java
@@ -23,8 +23,6 @@ import java.util.*;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.errors.ValidationErrorCode;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerDataMaskPolicyItem;
@@ -40,10 +38,12 @@ import org.apache.ranger.plugin.model.RangerServiceDef.RangerAccessTypeDef;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
 import org.apache.ranger.plugin.model.RangerValiditySchedule;
 import org.apache.ranger.plugin.store.ServiceStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerPolicyValidator extends RangerValidator {
 
-	private static final Log LOG = LogFactory.getLog(RangerPolicyValidator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerPolicyValidator.class);
 
 	public RangerPolicyValidator(ServiceStore store) {
 		super(store);
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerRoleValidator.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerRoleValidator.java
index 54ca93f..3430118 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerRoleValidator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerRoleValidator.java
@@ -20,17 +20,17 @@
 package org.apache.ranger.plugin.model.validation;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.errors.ValidationErrorCode;
 import org.apache.ranger.plugin.model.RangerRole;
 import org.apache.ranger.plugin.store.RoleStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class RangerRoleValidator extends RangerValidator {
-	private static final Log LOG = LogFactory.getLog(RangerRoleValidator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerRoleValidator.class);
 
 	public RangerRoleValidator(RoleStore store) {
 		super(store);
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerSecurityZoneValidator.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerSecurityZoneValidator.java
index 0c2dcee..f1045ad 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerSecurityZoneValidator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerSecurityZoneValidator.java
@@ -22,8 +22,6 @@ package org.apache.ranger.plugin.model.validation;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.errors.ValidationErrorCode;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerSecurityZone;
@@ -38,6 +36,8 @@ import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
 import org.apache.ranger.plugin.store.SecurityZoneStore;
 import org.apache.ranger.plugin.store.ServiceStore;
 import org.apache.ranger.plugin.util.SearchFilter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -47,7 +47,7 @@ import java.util.Map;
 import java.util.Set;
 
 public class RangerSecurityZoneValidator extends RangerValidator {
-    private static final Log LOG = LogFactory.getLog(RangerSecurityZoneValidator.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerSecurityZoneValidator.class);
 
     private final SecurityZoneStore securityZoneStore;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceDefHelper.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceDefHelper.java
index 33ec2d8..b4b2780 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceDefHelper.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceDefHelper.java
@@ -34,18 +34,18 @@ import java.util.concurrent.ConcurrentHashMap;
 import com.google.common.collect.Sets;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Lists;
 import org.apache.ranger.plugin.resourcematcher.RangerAbstractResourceMatcher;
 import org.apache.ranger.plugin.resourcematcher.RangerPathResourceMatcher;
 
 public class RangerServiceDefHelper {
-	private static final Log LOG = LogFactory.getLog(RangerServiceDefHelper.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceDefHelper.class);
 	
 	static final Map<String, Delegate> _Cache = new ConcurrentHashMap<>();
 	final Delegate _delegate;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceDefValidator.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceDefValidator.java
index 8a21f4d..9cbea7f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceDefValidator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceDefValidator.java
@@ -30,8 +30,6 @@ import java.util.HashMap;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.errors.ValidationErrorCode;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerServiceDef;
@@ -43,6 +41,8 @@ import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerServiceConfigDef;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerDataMaskTypeDef;
 import org.apache.ranger.plugin.store.ServiceStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Sets;
@@ -50,7 +50,7 @@ import org.apache.ranger.plugin.util.ServiceDefUtil;
 
 public class RangerServiceDefValidator extends RangerValidator {
 
-	private static final Log LOG = LogFactory.getLog(RangerServiceDefValidator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceDefValidator.class);
 
 	public RangerServiceDefValidator(ServiceStore store) {
 		super(store);
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceValidator.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceValidator.java
index 6c4d6c1..6ae6b66 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceValidator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerServiceValidator.java
@@ -24,18 +24,18 @@ import java.util.List;
 import java.util.Set;
 import java.util.regex.Pattern;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.errors.ValidationErrorCode;
 import org.apache.ranger.plugin.model.RangerService;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
 import org.apache.ranger.plugin.store.ServiceStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Sets;
 
 public class RangerServiceValidator extends RangerValidator {
-	private static final Log LOG = LogFactory.getLog(RangerServiceValidator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceValidator.class);
 
 	private static final Pattern SERVICE_NAME_VALIDATION_REGEX         = Pattern.compile("^[a-zA-Z0-9_-][a-zA-Z0-9_-]{0,254}", Pattern.CASE_INSENSITIVE);
 	private static final Pattern LEGACY_SERVICE_NAME_VALIDATION_REGEX  = Pattern.compile("^[a-zA-Z0-9_-][a-zA-Z0-9\\s_-]{0,254}", Pattern.CASE_INSENSITIVE);
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidator.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidator.java
index e99598d..62970ad 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidator.java
@@ -31,8 +31,6 @@ import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.errors.ValidationErrorCode;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
@@ -48,10 +46,12 @@ import org.apache.ranger.plugin.model.RangerServiceDef.RangerServiceConfigDef;
 import org.apache.ranger.plugin.store.RoleStore;
 import org.apache.ranger.plugin.store.ServiceStore;
 import org.apache.ranger.plugin.util.RangerObjectFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public abstract class RangerValidator {
 	
-	private static final Log LOG = LogFactory.getLog(RangerValidator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerValidator.class);
 
 	RoleStore 	 _roleStore;
 	ServiceStore _store;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidityScheduleValidator.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidityScheduleValidator.java
index 3bfdf93..2b4b049 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidityScheduleValidator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidityScheduleValidator.java
@@ -21,8 +21,8 @@ package org.apache.ranger.plugin.model.validation;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.text.DateFormat;
 import java.text.ParseException;
@@ -44,7 +44,7 @@ import org.apache.ranger.plugin.model.RangerValiditySchedule;
 import javax.annotation.Nonnull;
 
 public class RangerValidityScheduleValidator {
-    private static final Log LOG = LogFactory.getLog(RangerValidityScheduleValidator.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerValidityScheduleValidator.class);
 
     private static final ThreadLocal<DateFormat> DATE_FORMATTER = new ThreadLocal<DateFormat>() {
         @Override
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerZoneResourceMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerZoneResourceMatcher.java
index 2b570f6..c6cc9ac 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerZoneResourceMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerZoneResourceMatcher.java
@@ -19,8 +19,6 @@
 
 package org.apache.ranger.plugin.model.validation;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.policyresourcematcher.RangerDefaultPolicyResourceMatcher;
@@ -28,13 +26,15 @@ import org.apache.ranger.plugin.policyresourcematcher.RangerPolicyResourceMatche
 import org.apache.ranger.plugin.policyresourcematcher.RangerPolicyResourceEvaluator;
 import org.apache.ranger.plugin.resourcematcher.RangerResourceMatcher;
 import org.apache.ranger.plugin.util.ServiceDefUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
 public class RangerZoneResourceMatcher implements RangerPolicyResourceEvaluator {
-    private static final Log LOG = LogFactory.getLog(RangerZoneResourceMatcher.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerZoneResourceMatcher.class);
 
     private final String                                         securityZoneName;
     private final Map<String, RangerPolicy.RangerPolicyResource> policyResource;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/ValidationFailureDetails.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/ValidationFailureDetails.java
index d53d52a..48d12bc 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/ValidationFailureDetails.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/ValidationFailureDetails.java
@@ -19,14 +19,14 @@
 
 package org.apache.ranger.plugin.model.validation;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Objects;
 
 public class ValidationFailureDetails {
 
-	private static final Log LOG = LogFactory.getLog(ValidationFailureDetails.class);
+	private static final Logger LOG = LoggerFactory.getLogger(ValidationFailureDetails.class);
 
 	final String _fieldName;
 	final String _subFieldName;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/CacheMap.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/CacheMap.java
index 51f3f6b..4555ca4 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/CacheMap.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/CacheMap.java
@@ -18,15 +18,15 @@
  */
 package org.apache.ranger.plugin.policyengine;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
 
 public class CacheMap<K, V> extends LinkedHashMap<K, V> {
     private static final long serialVersionUID = 1L;
-    private static final Log LOG = LogFactory.getLog(CacheMap.class);
+    private static final Logger LOG = LoggerFactory.getLogger(CacheMap.class);
 
 
     private static final float RANGER_CACHE_DEFAULT_LOAD_FACTOR = 0.75f;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/PolicyEngine.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/PolicyEngine.java
index 7299387..f445706 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/PolicyEngine.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/PolicyEngine.java
@@ -31,8 +31,6 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.ListUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.contextenricher.RangerContextEnricher;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerPolicyDelta;
@@ -50,12 +48,14 @@ import org.apache.ranger.plugin.util.RangerReadWriteLock;
 import org.apache.ranger.plugin.util.RangerRoles;
 import org.apache.ranger.plugin.util.ServicePolicies;
 import org.apache.ranger.plugin.util.StringTokenReplacer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class PolicyEngine {
-    private static final Log LOG = LogFactory.getLog(PolicyEngine.class);
+    private static final Logger LOG = LoggerFactory.getLogger(PolicyEngine.class);
 
-    private static final Log PERF_POLICYENGINE_INIT_LOG       = RangerPerfTracer.getPerfLogger("policyengine.init");
-    private static final Log PERF_POLICYENGINE_REBALANCE_LOG  = RangerPerfTracer.getPerfLogger("policyengine.rebalance");
+    private static final Logger PERF_POLICYENGINE_INIT_LOG       = RangerPerfTracer.getPerfLogger("policyengine.init");
+    private static final Logger PERF_POLICYENGINE_REBALANCE_LOG  = RangerPerfTracer.getPerfLogger("policyengine.rebalance");
 
     private final RangerPolicyRepository              policyRepository;
     private final RangerPolicyRepository              tagPolicyRepository;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessRequestImpl.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessRequestImpl.java
index a22b8b6..fb7bcaa 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessRequestImpl.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessRequestImpl.java
@@ -29,11 +29,12 @@ import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerAccessRequestImpl implements RangerAccessRequest {
-	private static final Logger LOG = Logger.getLogger(RangerAccessRequestImpl.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAccessRequestImpl.class);
 
 	private RangerAccessResource resource;
 	private String               accessType;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPluginContext.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPluginContext.java
index 39683a5..5f086ed 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPluginContext.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPluginContext.java
@@ -20,16 +20,16 @@
 package org.apache.ranger.plugin.policyengine;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.admin.client.RangerAdminClient;
 import org.apache.ranger.admin.client.RangerAdminRESTClient;
 import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.service.RangerAuthContext;
 import org.apache.ranger.plugin.service.RangerAuthContextListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerPluginContext {
-	private static final Log LOG = LogFactory.getLog(RangerPluginContext.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerPluginContext.class);
 
 	private final RangerPluginConfig        config;
 	private       RangerAuthContext         authContext;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
index 4962db1..41ad893 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
@@ -23,8 +23,6 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.ListUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.authorization.utils.StringUtil;
@@ -46,6 +44,8 @@ import org.apache.ranger.plugin.util.RangerPerfTracer;
 import org.apache.ranger.plugin.util.RangerReadWriteLock;
 import org.apache.ranger.plugin.util.RangerRoles;
 import org.apache.ranger.plugin.util.ServicePolicies;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -60,11 +60,11 @@ import java.util.Set;
 import static org.apache.ranger.plugin.policyevaluator.RangerPolicyEvaluator.ACCESS_CONDITIONAL;
 
 public class RangerPolicyEngineImpl implements RangerPolicyEngine {
-	private static final Log LOG = LogFactory.getLog(RangerPolicyEngineImpl.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerPolicyEngineImpl.class);
 
-	private static final Log PERF_POLICYENGINE_REQUEST_LOG  = RangerPerfTracer.getPerfLogger("policyengine.request");
-	private static final Log PERF_POLICYENGINE_AUDIT_LOG    = RangerPerfTracer.getPerfLogger("policyengine.audit");
-	private static final Log PERF_POLICYENGINE_GET_ACLS_LOG = RangerPerfTracer.getPerfLogger("policyengine.getResourceACLs");
+	private static final Logger PERF_POLICYENGINE_REQUEST_LOG  = RangerPerfTracer.getPerfLogger("policyengine.request");
+	private static final Logger PERF_POLICYENGINE_AUDIT_LOG    = RangerPerfTracer.getPerfLogger("policyengine.audit");
+	private static final Logger PERF_POLICYENGINE_GET_ACLS_LOG = RangerPerfTracer.getPerfLogger("policyengine.getResourceACLs");
 
 	private final PolicyEngine                 policyEngine;
 	private final RangerAccessRequestProcessor requestProcessor;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
index 2603f80..3e49817 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
@@ -22,8 +22,6 @@ package org.apache.ranger.plugin.policyengine;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.plugin.contextenricher.RangerAbstractContextEnricher;
 import org.apache.ranger.plugin.contextenricher.RangerContextEnricher;
@@ -44,6 +42,8 @@ import org.apache.ranger.plugin.store.AbstractServiceStore;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
 import org.apache.ranger.plugin.util.ServiceDefUtil;
 import org.apache.ranger.plugin.util.ServicePolicies;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -60,10 +60,10 @@ import static org.apache.ranger.plugin.contextenricher.RangerTagEnricher.TAG_RET
 import static org.apache.ranger.plugin.policyengine.RangerPolicyEngine.PLUGIN_AUDIT_FILTER;
 
 public class RangerPolicyRepository {
-    private static final Log LOG = LogFactory.getLog(RangerPolicyRepository.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerPolicyRepository.class);
 
-    private static final Log PERF_CONTEXTENRICHER_INIT_LOG = RangerPerfTracer.getPerfLogger("contextenricher.init");
-    private static final Log PERF_TRIE_OP_LOG              = RangerPerfTracer.getPerfLogger("resourcetrie.retrieval");
+    private static final Logger PERF_CONTEXTENRICHER_INIT_LOG = RangerPerfTracer.getPerfLogger("contextenricher.init");
+    private static final Logger PERF_TRIE_OP_LOG              = RangerPerfTracer.getPerfLogger("resourcetrie.retrieval");
 
     enum AuditModeEnum {
         AUDIT_ALL, AUDIT_NONE, AUDIT_DEFAULT
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerRequestScriptEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerRequestScriptEvaluator.java
index 6f12b1b..509244c 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerRequestScriptEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerRequestScriptEvaluator.java
@@ -21,8 +21,6 @@ package org.apache.ranger.plugin.policyengine;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.authorization.utils.StringUtil;
@@ -30,24 +28,15 @@ import org.apache.ranger.plugin.contextenricher.RangerTagForEval;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
 import org.apache.ranger.plugin.util.RangerUserStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.script.Bindings;
 import javax.script.ScriptEngine;
 import javax.script.ScriptException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TimeZone;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -55,10 +44,10 @@ import static org.apache.ranger.plugin.util.RangerCommonConstants.*;
 
 
 public final class RangerRequestScriptEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerRequestScriptEvaluator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerRequestScriptEvaluator.class);
 
-	private static final Log    PERF_POLICY_CONDITION_SCRIPT_TOJSON         = RangerPerfTracer.getPerfLogger("policy.condition.script.tojson");
-	private static final Log    PERF_POLICY_CONDITION_SCRIPT_EVAL           = RangerPerfTracer.getPerfLogger("policy.condition.script.eval");
+	private static final Logger PERF_POLICY_CONDITION_SCRIPT_TOJSON         = RangerPerfTracer.getPerfLogger("policy.condition.script.tojson");
+	private static final Logger PERF_POLICY_CONDITION_SCRIPT_EVAL           = RangerPerfTracer.getPerfLogger("policy.condition.script.eval");
 	private static final String TAG_ATTR_DATE_FORMAT_PROP                   = "ranger.plugin.tag.attr.additional.date.formats";
 	private static final String TAG_ATTR_DATE_FORMAT_SEPARATOR              = "||";
 	private static final String TAG_ATTR_DATE_FORMAT_SEPARATOR_REGEX        = "\\|\\|";
@@ -668,23 +657,23 @@ public final class RangerRequestScriptEvaluator {
 	}
 
 	public void logDebug(Object msg) {
-		LOG.debug(msg);
+		LOG.debug(Objects.toString(msg));
 	}
 
 	public void logInfo(Object msg) {
-		LOG.info(msg);
+		LOG.info(Objects.toString(msg));
 	}
 
 	public void logWarn(Object msg) {
-		LOG.warn(msg);
+		LOG.warn(Objects.toString(msg));
 	}
 
 	public void logError(Object msg) {
-		LOG.error(msg);
+		LOG.error(Objects.toString(msg));
 	}
 
 	public void logFatal(Object msg) {
-		LOG.fatal(msg);
+		LOG.error(Objects.toString(msg));
 	}
 
 	public static class UserGroupsAttributes {
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java
index 6e27524..331d637 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java
@@ -22,8 +22,6 @@ package org.apache.ranger.plugin.policyengine;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
@@ -33,6 +31,8 @@ import org.apache.ranger.plugin.resourcematcher.RangerResourceMatcher;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
 import org.apache.ranger.plugin.util.RangerRequestExprResolver;
 import org.apache.ranger.plugin.util.ServiceDefUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -48,10 +48,10 @@ import static org.apache.ranger.plugin.resourcematcher.RangerPathResourceMatcher
 import static org.apache.ranger.plugin.resourcematcher.RangerPathResourceMatcher.OPTION_PATH_SEPARATOR;
 
 public class RangerResourceTrie<T extends RangerPolicyResourceEvaluator> {
-    private static final Log LOG                = LogFactory.getLog(RangerResourceTrie.class);
-    private static final Log TRACE_LOG          = RangerPerfTracer.getPerfLogger("resourcetrie.trace");
-    private static final Log PERF_TRIE_INIT_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.init");
-    private static final Log PERF_TRIE_OP_LOG   = RangerPerfTracer.getPerfLogger("resourcetrie.op");
+    private static final Logger LOG                = LoggerFactory.getLogger(RangerResourceTrie.class);
+    private static final Logger TRACE_LOG          = RangerPerfTracer.getPerfLogger("resourcetrie.trace");
+    private static final Logger PERF_TRIE_INIT_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.init");
+    private static final Logger PERF_TRIE_OP_LOG   = RangerPerfTracer.getPerfLogger("resourcetrie.op");
 
     private static final String DEFAULT_WILDCARD_CHARS    = "*?";
     private static final String TRIE_BUILDER_THREAD_COUNT = "ranger.policyengine.trie.builder.thread.count";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerAbstractPolicyEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerAbstractPolicyEvaluator.java
index 52a30a1..ad102a7 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerAbstractPolicyEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerAbstractPolicyEvaluator.java
@@ -20,8 +20,6 @@
 package org.apache.ranger.plugin.policyevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
@@ -29,13 +27,15 @@ import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerPluginContext;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
 import org.apache.ranger.plugin.util.ServiceDefUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
 public abstract class RangerAbstractPolicyEvaluator implements RangerPolicyEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerAbstractPolicyEvaluator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAbstractPolicyEvaluator.class);
 
 	private   RangerPolicy        policy;
 	private   RangerServiceDef    serviceDef;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerAuditPolicyEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerAuditPolicyEvaluator.java
index 108856f..ace4e30 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerAuditPolicyEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerAuditPolicyEvaluator.java
@@ -21,8 +21,6 @@ package org.apache.ranger.plugin.policyevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.AuditFilter;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItem;
@@ -32,6 +30,8 @@ import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
 import org.apache.ranger.plugin.policyengine.*;
 import org.apache.ranger.plugin.policyresourcematcher.RangerPolicyResourceMatcher;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -43,7 +43,7 @@ import java.util.Set;
 
 
 public class RangerAuditPolicyEvaluator extends RangerDefaultPolicyEvaluator {
-    private static final Log LOG = LogFactory.getLog(RangerAuditPolicyEvaluator.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerAuditPolicyEvaluator.class);
 
     private final RangerAuditPolicy                    auditPolicy;
     private final boolean                              matchAnyResource;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerCustomConditionEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerCustomConditionEvaluator.java
index cc250b5..6f15eed 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerCustomConditionEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerCustomConditionEvaluator.java
@@ -21,8 +21,6 @@ package org.apache.ranger.plugin.policyevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemCondition;
 import org.apache.ranger.plugin.conditionevaluator.RangerConditionEvaluator;
 import org.apache.ranger.plugin.model.RangerPolicy;
@@ -30,6 +28,8 @@ import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItem;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -37,10 +37,10 @@ import java.util.List;
 
 public class RangerCustomConditionEvaluator {
 
-    private static final Log LOG = LogFactory.getLog(RangerCustomConditionEvaluator.class);
-    private static final Log PERF_POLICY_INIT_LOG = RangerPerfTracer.getPerfLogger("policy.init");
-    private static final Log PERF_POLICYITEM_INIT_LOG = RangerPerfTracer.getPerfLogger("policyitem.init");
-    private static final Log PERF_POLICYCONDITION_INIT_LOG = RangerPerfTracer.getPerfLogger("policycondition.init");
+    private static final Logger LOG = LoggerFactory.getLogger(RangerCustomConditionEvaluator.class);
+    private static final Logger PERF_POLICY_INIT_LOG = RangerPerfTracer.getPerfLogger("policy.init");
+    private static final Logger PERF_POLICYITEM_INIT_LOG = RangerPerfTracer.getPerfLogger("policyitem.init");
+    private static final Logger PERF_POLICYCONDITION_INIT_LOG = RangerPerfTracer.getPerfLogger("policycondition.init");
 
     public List<RangerConditionEvaluator> getRangerPolicyConditionEvaluator(RangerPolicy policy,
                                                                                   RangerServiceDef serviceDef,
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
index c80050c..0056f76 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
@@ -32,8 +32,6 @@ import java.util.Set;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.conditionevaluator.RangerAbstractConditionEvaluator;
 import org.apache.ranger.plugin.conditionevaluator.RangerConditionEvaluator;
 import org.apache.ranger.plugin.model.RangerPolicy;
@@ -58,15 +56,17 @@ import org.apache.ranger.plugin.resourcematcher.RangerResourceMatcher;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
 import org.apache.ranger.plugin.util.ServiceDefUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class RangerDefaultPolicyEvaluator extends RangerAbstractPolicyEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerDefaultPolicyEvaluator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerDefaultPolicyEvaluator.class);
 
-	private static final Log PERF_POLICY_INIT_LOG = RangerPerfTracer.getPerfLogger("policy.init");
-	private static final Log PERF_POLICY_INIT_ACLSUMMARY_LOG = RangerPerfTracer.getPerfLogger("policy.init.ACLSummary");
-	private static final Log PERF_POLICY_REQUEST_LOG = RangerPerfTracer.getPerfLogger("policy.request");
-	private static final Log PERF_POLICYCONDITION_REQUEST_LOG = RangerPerfTracer.getPerfLogger("policycondition.request");
+	private static final Logger PERF_POLICY_INIT_LOG = RangerPerfTracer.getPerfLogger("policy.init");
+	private static final Logger PERF_POLICY_INIT_ACLSUMMARY_LOG = RangerPerfTracer.getPerfLogger("policy.init.ACLSummary");
+	private static final Logger PERF_POLICY_REQUEST_LOG = RangerPerfTracer.getPerfLogger("policy.request");
+	private static final Logger PERF_POLICYCONDITION_REQUEST_LOG = RangerPerfTracer.getPerfLogger("policycondition.request");
 
 	private RangerPolicyResourceMatcher     resourceMatcher;
 	private List<RangerValidityScheduleEvaluator> validityScheduleEvaluators;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyItemEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyItemEvaluator.java
index 2cf9a99..7181176 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyItemEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyItemEvaluator.java
@@ -24,8 +24,6 @@ import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.conditionevaluator.RangerAbstractConditionEvaluator;
 import org.apache.ranger.plugin.conditionevaluator.RangerConditionEvaluator;
 import org.apache.ranger.plugin.model.RangerPolicy;
@@ -41,13 +39,15 @@ import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
 import org.apache.ranger.plugin.policyresourcematcher.RangerPolicyResourceMatcher;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class RangerDefaultPolicyItemEvaluator extends RangerAbstractPolicyItemEvaluator {
-	private static final Log LOG = LogFactory.getLog(RangerDefaultPolicyItemEvaluator.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerDefaultPolicyItemEvaluator.class);
 
-	private static final Log PERF_POLICYITEM_REQUEST_LOG = RangerPerfTracer.getPerfLogger("policyitem.request");
-	private static final Log PERF_POLICYCONDITION_REQUEST_LOG = RangerPerfTracer.getPerfLogger("policycondition.request");
+	private static final Logger PERF_POLICYITEM_REQUEST_LOG = RangerPerfTracer.getPerfLogger("policyitem.request");
+	private static final Logger PERF_POLICYCONDITION_REQUEST_LOG = RangerPerfTracer.getPerfLogger("policycondition.request");
 
 	private boolean hasCurrentUser;
 	private boolean hasResourceOwner;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerOptimizedPolicyEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerOptimizedPolicyEvaluator.java
index e69e45f..d3fc27d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerOptimizedPolicyEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerOptimizedPolicyEvaluator.java
@@ -21,8 +21,6 @@ package org.apache.ranger.plugin.policyevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
@@ -30,11 +28,13 @@ import org.apache.ranger.plugin.policyengine.RangerAccessResource;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngine;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.*;
 
 public class RangerOptimizedPolicyEvaluator extends RangerDefaultPolicyEvaluator {
-    private static final Log LOG = LogFactory.getLog(RangerOptimizedPolicyEvaluator.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerOptimizedPolicyEvaluator.class);
 
     private Set<String> roles          = new HashSet<>();
     private Set<String> groups         = new HashSet<>();
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerValidityScheduleEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerValidityScheduleEvaluator.java
index 6715e2b..31501c7 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerValidityScheduleEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerValidityScheduleEvaluator.java
@@ -21,8 +21,6 @@ package org.apache.ranger.plugin.policyevaluator;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerValidityRecurrence;
 import org.apache.ranger.plugin.model.RangerValiditySchedule;
 import org.apache.ranger.plugin.resourcematcher.ScheduledTimeAlwaysMatcher;
@@ -30,6 +28,8 @@ import org.apache.ranger.plugin.resourcematcher.ScheduledTimeExactMatcher;
 import org.apache.ranger.plugin.resourcematcher.ScheduledTimeMatcher;
 import org.apache.ranger.plugin.resourcematcher.ScheduledTimeRangeMatcher;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.annotation.Nonnull;
 import java.text.DateFormat;
@@ -44,8 +44,8 @@ import java.util.List;
 import java.util.TimeZone;
 
 public class RangerValidityScheduleEvaluator {
-    private static final Log LOG = LogFactory.getLog(RangerValidityScheduleEvaluator.class);
-    private static final Log PERF_LOG = LogFactory.getLog("test.perf.RangerValidityScheduleEvaluator");
+    private static final Logger LOG = LoggerFactory.getLogger(RangerValidityScheduleEvaluator.class);
+    private static final Logger PERF_LOG = LoggerFactory.getLogger("test.perf.RangerValidityScheduleEvaluator");
 
     private final static TimeZone defaultTZ = TimeZone.getDefault();
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyresourcematcher/RangerDefaultPolicyResourceMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyresourcematcher/RangerDefaultPolicyResourceMatcher.java
index f218900..3060214 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyresourcematcher/RangerDefaultPolicyResourceMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyresourcematcher/RangerDefaultPolicyResourceMatcher.java
@@ -28,8 +28,6 @@ import java.util.List;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
@@ -40,12 +38,14 @@ import org.apache.ranger.plugin.policyengine.RangerAccessResourceImpl;
 import org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher;
 import org.apache.ranger.plugin.resourcematcher.RangerResourceMatcher;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerDefaultPolicyResourceMatcher implements RangerPolicyResourceMatcher {
-    private static final Log LOG = LogFactory.getLog(RangerDefaultPolicyResourceMatcher.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerDefaultPolicyResourceMatcher.class);
 
-    private static final Log PERF_POLICY_RESOURCE_MATCHER_INIT_LOG = RangerPerfTracer.getPerfLogger("policyresourcematcher.init");
-    private static final Log PERF_POLICY_RESOURCE_MATCHER_MATCH_LOG = RangerPerfTracer.getPerfLogger("policyresourcematcher.match");
+    private static final Logger PERF_POLICY_RESOURCE_MATCHER_INIT_LOG = RangerPerfTracer.getPerfLogger("policyresourcematcher.init");
+    private static final Logger PERF_POLICY_RESOURCE_MATCHER_MATCH_LOG = RangerPerfTracer.getPerfLogger("policyresourcematcher.match");
 
     protected RangerServiceDef                  serviceDef;
     protected int                               policyType;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerAbstractResourceMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerAbstractResourceMatcher.java
index beb9bc7..032d448 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerAbstractResourceMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerAbstractResourceMatcher.java
@@ -28,15 +28,15 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOCase;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
 import org.apache.ranger.plugin.util.ServiceDefUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public abstract class RangerAbstractResourceMatcher implements RangerResourceMatcher {
-	private static final Log LOG = LogFactory.getLog(RangerAbstractResourceMatcher.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAbstractResourceMatcher.class);
 
 	public final static String WILDCARD_ASTERISK = "*";
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerDefaultResourceMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerDefaultResourceMatcher.java
index 8a44471..c421388 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerDefaultResourceMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerDefaultResourceMatcher.java
@@ -20,15 +20,15 @@
 package org.apache.ranger.plugin.resourcematcher;
 
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Collection;
 import java.util.Map;
 
 
 public class RangerDefaultResourceMatcher extends RangerAbstractResourceMatcher {
-	private static final Log LOG = LogFactory.getLog(RangerDefaultResourceMatcher.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerDefaultResourceMatcher.class);
 
 	@Override
 	public boolean isMatch(Object resource, Map<String, Object> evalContext) {
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerPathResourceMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerPathResourceMatcher.java
index 46e10f2..a95b1f7 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerPathResourceMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerPathResourceMatcher.java
@@ -25,10 +25,10 @@ import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOCase;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.util.ServiceDefUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -38,7 +38,7 @@ import java.util.function.BiFunction;
 
 
 public class RangerPathResourceMatcher extends RangerDefaultResourceMatcher {
-	private static final Log LOG = LogFactory.getLog(RangerPathResourceMatcher.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerPathResourceMatcher.class);
 
 	public static final String OPTION_PATH_SEPARATOR       = "pathSeparatorChar";
 	public static final char   DEFAULT_PATH_SEPARATOR_CHAR = org.apache.hadoop.fs.Path.SEPARATOR_CHAR;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerURLResourceMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerURLResourceMatcher.java
index be6e031..1a6b52f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerURLResourceMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerURLResourceMatcher.java
@@ -24,9 +24,9 @@ import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOCase;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.util.ServiceDefUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -37,7 +37,7 @@ import java.util.regex.Pattern;
 
 
 public class RangerURLResourceMatcher extends RangerDefaultResourceMatcher {
-    private static final Log LOG = LogFactory.getLog(RangerURLResourceMatcher.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerURLResourceMatcher.class);
 
     public static final String OPTION_PATH_SEPARATOR       = "pathSeparatorChar";
     public static final char   DEFAULT_PATH_SEPARATOR_CHAR = org.apache.hadoop.fs.Path.SEPARATOR_CHAR;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/ResourceMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/ResourceMatcher.java
index abda58f..5df4f1e 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/ResourceMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/ResourceMatcher.java
@@ -20,12 +20,12 @@
 package org.apache.ranger.plugin.resourcematcher;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.RangerRequestExprResolver;
 import org.apache.ranger.plugin.util.StringTokenReplacer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.Serializable;
 import java.util.Collection;
@@ -33,7 +33,7 @@ import java.util.Comparator;
 import java.util.Map;
 
 abstract class ResourceMatcher {
-    private static final Log LOG = LogFactory.getLog(ResourceMatcher.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ResourceMatcher.class);
 
     protected final String                    value;
     protected final RangerRequestExprResolver exprResolver;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
index 6430b98..827fb1f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
@@ -23,8 +23,6 @@ import java.util.*;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.admin.client.RangerAdminClient;
 import org.apache.ranger.admin.client.RangerAdminRESTClient;
 import org.apache.ranger.audit.provider.AuditHandler;
@@ -52,10 +50,12 @@ import org.apache.ranger.plugin.policyengine.RangerResourceAccessInfo;
 import org.apache.ranger.plugin.policyevaluator.RangerPolicyEvaluator;
 import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
 import org.apache.ranger.plugin.util.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class RangerBasePlugin {
-	private static final Log LOG = LogFactory.getLog(RangerBasePlugin.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerBasePlugin.class);
 
 	private final RangerPluginConfig          pluginConfig;
 	private final RangerPluginContext         pluginContext;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java
index 65c34e8..b04de9f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java
@@ -32,8 +32,6 @@ import java.util.TreeSet;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.security.SecureClientLogin;
 import org.apache.hadoop.security.authentication.util.KerberosName;
 import org.apache.ranger.authorization.hadoop.config.RangerAdminConfig;
@@ -46,10 +44,12 @@ import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
 import org.apache.ranger.plugin.model.validation.RangerServiceDefHelper;
 import org.apache.ranger.plugin.resourcematcher.RangerAbstractResourceMatcher;
 import org.apache.ranger.plugin.util.ServiceDefUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public abstract class RangerBaseService {
-	private static final Log LOG = LogFactory.getLog(RangerBaseService.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerBaseService.class);
 
 	protected static final String ADMIN_USER_PRINCIPAL = "ranger.admin.kerberos.principal";
 	protected static final String ADMIN_USER_KEYTAB    = "ranger.admin.kerberos.keytab";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerChainedPlugin.java b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerChainedPlugin.java
index 7a48a09..897a7c4 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerChainedPlugin.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerChainedPlugin.java
@@ -19,16 +19,16 @@
 
 package org.apache.ranger.plugin.service;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.policyengine.RangerResourceACLs;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Collection;
 
 public abstract class RangerChainedPlugin {
-    private static final Log LOG = LogFactory.getLog(RangerChainedPlugin.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerChainedPlugin.class);
 
     protected final RangerBasePlugin rootPlugin;
     protected final String           serviceType;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerDefaultRequestProcessor.java b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerDefaultRequestProcessor.java
index c2e8ae9..ac9ce8f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerDefaultRequestProcessor.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerDefaultRequestProcessor.java
@@ -21,7 +21,6 @@ package org.apache.ranger.plugin.service;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
 import org.apache.ranger.plugin.contextenricher.RangerContextEnricher;
 import org.apache.ranger.plugin.policyengine.PolicyEngine;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
@@ -31,13 +30,14 @@ import org.apache.ranger.plugin.policyengine.RangerAccessResource;
 import org.apache.ranger.plugin.policyengine.RangerMutableResource;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
 
 import java.util.List;
 import java.util.Set;
 
 public class RangerDefaultRequestProcessor implements RangerAccessRequestProcessor {
 
-    private static final Log PERF_CONTEXTENRICHER_REQUEST_LOG = RangerPerfTracer.getPerfLogger("contextenricher.request");
+    private static final Logger PERF_CONTEXTENRICHER_REQUEST_LOG = RangerPerfTracer.getPerfLogger("contextenricher.request");
 
     protected final PolicyEngine policyEngine;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerDefaultService.java b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerDefaultService.java
index c61ebd6..c89b557 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerDefaultService.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerDefaultService.java
@@ -24,11 +24,11 @@ import java.util.Map;
 
 import org.apache.commons.collections.ListUtils;
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerDefaultService extends RangerBaseService {
-	private static final Log LOG = LogFactory.getLog(RangerDefaultService.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerDefaultService.class);
 		
 	@Override
 	public  Map<String, Object> validateConfig() throws Exception {
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractServiceStore.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractServiceStore.java
index e9d199b..8632dd6 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractServiceStore.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractServiceStore.java
@@ -21,8 +21,6 @@ package org.apache.ranger.plugin.store;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.authorization.hadoop.config.RangerAdminConfig;
 import org.apache.ranger.plugin.model.RangerBaseModelObject;
 import org.apache.ranger.plugin.model.RangerPolicy;
@@ -30,6 +28,8 @@ import org.apache.ranger.plugin.model.RangerService;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.util.SearchFilter;
 import org.apache.ranger.services.tag.RangerServiceTag;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -38,7 +38,7 @@ import java.util.List;
 import java.util.Objects;
 
 public abstract class AbstractServiceStore implements ServiceStore {
-	private static final Log LOG = LogFactory.getLog(AbstractServiceStore.class);
+	private static final Logger LOG = LoggerFactory.getLogger(AbstractServiceStore.class);
 
 	public static final String COMPONENT_ACCESSTYPE_SEPARATOR = ":";
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
index 7775b08..5ff782f 100755
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
@@ -26,10 +26,10 @@ import java.util.List;
 import java.util.Set;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.authorization.hadoop.config.RangerAdminConfig;
 import org.apache.ranger.plugin.model.RangerServiceDef;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -45,7 +45,7 @@ import org.apache.ranger.plugin.util.ServiceDefUtil;
  * initialize embedded service-defs.
  */
 public class EmbeddedServiceDefsUtil {
-	private static final Log LOG = LogFactory.getLog(EmbeddedServiceDefsUtil.class);
+	private static final Logger LOG = LoggerFactory.getLogger(EmbeddedServiceDefsUtil.class);
 
 
 	// following servicedef list should be reviewed/updated whenever a new embedded service-def is added
@@ -171,7 +171,7 @@ public class EmbeddedServiceDefsUtil {
 			// Ensure that tag service def is updated with access types of all service defs
 			store.updateTagServiceDefForAccessTypes();
 		} catch(Throwable excp) {
-			LOG.fatal("EmbeddedServiceDefsUtil.init(): failed", excp);
+			LOG.error("EmbeddedServiceDefsUtil.init(): failed", excp);
 		}
 
 		LOG.info("<== EmbeddedServiceDefsUtil.init()");
@@ -302,7 +302,7 @@ public class EmbeddedServiceDefsUtil {
 				LOG.info("created embedded service-def " + serviceDefName);
 			}
 		} catch(Exception excp) {
-			LOG.fatal("EmbeddedServiceDefsUtil.getOrCreateServiceDef(): failed to load/create serviceType " + serviceDefName, excp);
+			LOG.error("EmbeddedServiceDefsUtil.getOrCreateServiceDef(): failed to load/create serviceType " + serviceDefName, excp);
 		}
 
 		if(LOG.isDebugEnabled()) {
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/GeolocationFileStore.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/file/GeolocationFileStore.java
index 9b55e38..5f8e869 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/GeolocationFileStore.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/file/GeolocationFileStore.java
@@ -20,12 +20,12 @@
 package org.apache.ranger.plugin.store.file;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.geo.GeolocationMetadata;
 import org.apache.ranger.plugin.store.GeolocationStore;
 import org.apache.ranger.plugin.geo.RangerGeolocationDatabase;
 import org.apache.ranger.plugin.geo.RangerGeolocationData;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -39,7 +39,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 public class GeolocationFileStore implements GeolocationStore {
-	private static final Log LOG = LogFactory.getLog(GeolocationFileStore.class);
+	private static final Logger LOG = LoggerFactory.getLogger(GeolocationFileStore.class);
 
 	public static final String GeoLineCommentIdentifier = "#";
 	public static final Character GeoFieldsSeparator = ',';
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/DownloaderTask.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/DownloaderTask.java
index 1345f6f..f43e6b0 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/DownloaderTask.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/DownloaderTask.java
@@ -19,14 +19,14 @@
 
 package org.apache.ranger.plugin.util;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.TimerTask;
 import java.util.concurrent.BlockingQueue;
 
 public final class  DownloaderTask extends TimerTask {
-    private static final Log LOG = LogFactory.getLog(DownloaderTask.class);
+    private static final Logger LOG = LoggerFactory.getLogger(DownloaderTask.class);
 
     private final DownloadTrigger timerTrigger = new DownloadTrigger();
     private final BlockingQueue<DownloadTrigger> queue;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/PerfDataRecorder.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/PerfDataRecorder.java
index 2816369..7e2c46f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/PerfDataRecorder.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/PerfDataRecorder.java
@@ -20,8 +20,8 @@
 package org.apache.ranger.plugin.util;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableMap;
 
@@ -33,8 +33,8 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicLong;
 
 public class PerfDataRecorder {
-	private static final Log LOG  = LogFactory.getLog(PerfDataRecorder.class);
-	private static final Log PERF = RangerPerfTracer.getPerfLogger(PerfDataRecorder.class);
+	private static final Logger LOG  = LoggerFactory.getLogger(PerfDataRecorder.class);
+	private static final Logger PERF = RangerPerfTracer.getPerfLogger(PerfDataRecorder.class);
 
 	private static volatile PerfDataRecorder instance;
 	private Map<String, PerfStatistic> perfStatistics = new HashMap<>();
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/PolicyRefresher.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/PolicyRefresher.java
index 7250de1..b2e5429 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/PolicyRefresher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/PolicyRefresher.java
@@ -29,21 +29,21 @@ import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.admin.client.RangerAdminClient;
 import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.policyengine.RangerPluginContext;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
 
 public class PolicyRefresher extends Thread {
-	private static final Log LOG = LogFactory.getLog(PolicyRefresher.class);
+	private static final Logger LOG = LoggerFactory.getLogger(PolicyRefresher.class);
 
-	private static final Log PERF_POLICYENGINE_INIT_LOG = RangerPerfTracer.getPerfLogger("policyengine.init");
+	private static final Logger PERF_POLICYENGINE_INIT_LOG = RangerPerfTracer.getPerfLogger("policyengine.init");
 
 	private final RangerBasePlugin               plugIn;
 	private final String                         serviceType;
@@ -87,7 +87,7 @@ public class PolicyRefresher extends Thread {
 		try {
 			gson = new GsonBuilder().setDateFormat("yyyyMMdd-HH:mm:ss.SSS-Z").create();
 		} catch(Throwable excp) {
-			LOG.fatal("PolicyRefresher(): failed to create GsonBuilder object", excp);
+			LOG.error("PolicyRefresher(): failed to create GsonBuilder object", excp);
 		}
 
 		RangerPluginContext pluginContext  = plugIn.getPluginContext();
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerAccessRequestUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerAccessRequestUtil.java
index 12bd473..4415b6c 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerAccessRequestUtil.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerAccessRequestUtil.java
@@ -26,14 +26,14 @@ import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.contextenricher.RangerTagForEval;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerAccessResource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerAccessRequestUtil {
-	private static final Log LOG = LogFactory.getLog(RangerAccessRequestUtil.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAccessRequestUtil.class);
 
 	public static final String KEY_CONTEXT_TAGS                = "TAGS";
 	public static final String KEY_CONTEXT_TAG_OBJECT          = "TAG_OBJECT";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerMetricsUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerMetricsUtil.java
index f6eef2f..d85009d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerMetricsUtil.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerMetricsUtil.java
@@ -20,8 +20,9 @@
 package org.apache.ranger.plugin.util;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.model.RangerMetrics;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 
@@ -43,7 +44,7 @@ import java.lang.management.MemoryUsage;
  */
 public class RangerMetricsUtil {
 
-    private static final Logger LOG = Logger.getLogger(RangerMetricsUtil.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerMetricsUtil.class);
     private static final OperatingSystemMXBean OS;
     private static final MemoryMXBean MEM_BEAN;
     public static final String NL = System.getProperty("line.separator");
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfCollectorTracer.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfCollectorTracer.java
index 353f7da..6e95a56 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfCollectorTracer.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfCollectorTracer.java
@@ -19,12 +19,12 @@
 
 package org.apache.ranger.plugin.util;
 
-import org.apache.commons.logging.Log;
+import org.slf4j.Logger;
 
 public class RangerPerfCollectorTracer extends RangerPerfTracer {
 	private final long   startTimeNanos;
 
-	public RangerPerfCollectorTracer(Log logger, String tag, String data) {
+	public RangerPerfCollectorTracer(Logger logger, String tag, String data) {
 		super(logger, tag, data);
 		startTimeNanos = System.nanoTime();
 	}
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfTracer.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfTracer.java
index 222c859..3c985c6 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfTracer.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfTracer.java
@@ -19,12 +19,12 @@
 
 package org.apache.ranger.plugin.util;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerPerfTracer {
-	protected final Log    logger;
+	protected final Logger logger;
 	protected final String tag;
 	protected final String data;
 	private final long   startTimeMs;
@@ -33,19 +33,19 @@ public class RangerPerfTracer {
 
 	private final static String tagEndMarker = "(";
 
-	public static Log getPerfLogger(String name) {
-		return LogFactory.getLog("org.apache.ranger.perf." + name);
+	public static Logger getPerfLogger(String name) {
+		return LoggerFactory.getLogger("org.apache.ranger.perf." + name);
 	}
 
-	public static Log getPerfLogger(Class<?> cls) {
+	public static Logger getPerfLogger(Class<?> cls) {
 		return RangerPerfTracer.getPerfLogger(cls.getName());
 	}
 
-	public static boolean isPerfTraceEnabled(Log logger) {
+	public static boolean isPerfTraceEnabled(Logger logger) {
 		return logger.isDebugEnabled();
 	}
 
-	public static RangerPerfTracer getPerfTracer(Log logger, String tag) {
+	public static RangerPerfTracer getPerfTracer(Logger logger, String tag) {
 		String data = "";
 		String realTag = "";
 
@@ -61,7 +61,7 @@ public class RangerPerfTracer {
 		return RangerPerfTracerFactory.getPerfTracer(logger, realTag, data);
 	}
 
-	public static RangerPerfTracer getPerfTracer(Log logger, String tag, String data) {
+	public static RangerPerfTracer getPerfTracer(Logger logger, String tag, String data) {
 		return RangerPerfTracerFactory.getPerfTracer(logger, tag, data);
 	}
 
@@ -76,7 +76,7 @@ public class RangerPerfTracer {
 			tracer.logAlways();
 		}
 	}
-	public RangerPerfTracer(Log logger, String tag, String data) {
+	public RangerPerfTracer(Logger logger, String tag, String data) {
 		this.logger = logger;
 		this.tag    = tag;
 		this.data	= data;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfTracerFactory.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfTracerFactory.java
index 1153091..1a4e86d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfTracerFactory.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPerfTracerFactory.java
@@ -19,11 +19,11 @@
 
 package org.apache.ranger.plugin.util;
 
-import org.apache.commons.logging.Log;
+import org.slf4j.Logger;
 
 public class RangerPerfTracerFactory {
 
-	static RangerPerfTracer getPerfTracer(Log logger, String tag, String data) {
+	static RangerPerfTracer getPerfTracer(Logger logger, String tag, String data) {
 
 		RangerPerfTracer ret = null;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPolicyDeltaUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPolicyDeltaUtil.java
index 38c62ed..43a4940 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPolicyDeltaUtil.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPolicyDeltaUtil.java
@@ -21,11 +21,11 @@ package org.apache.ranger.plugin.util;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerPolicyDelta;
 import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -34,9 +34,9 @@ import java.util.List;
 
 public class RangerPolicyDeltaUtil {
 
-    private static final Log LOG = LogFactory.getLog(RangerPolicyDeltaUtil.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerPolicyDeltaUtil.class);
 
-    private static final Log PERF_POLICY_DELTA_LOG = RangerPerfTracer.getPerfLogger("policy.delta");
+    private static final Logger PERF_POLICY_DELTA_LOG = RangerPerfTracer.getPerfLogger("policy.delta");
 
     public static List<RangerPolicy> applyDeltas(List<RangerPolicy> policies, List<RangerPolicyDelta> deltas, String serviceType) {
         if (LOG.isDebugEnabled()) {
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
index 33f34f3..be9b826 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
@@ -47,12 +47,12 @@ import javax.ws.rs.core.Cookie;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.Validate;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.authorization.hadoop.utils.RangerCredentialProvider;
 import org.apache.ranger.authorization.utils.StringUtil;
 import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -67,7 +67,7 @@ import com.sun.jersey.client.urlconnection.HTTPSProperties;
 
 
 public class RangerRESTClient {
-	private static final Log LOG = LogFactory.getLog(RangerRESTClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerRESTClient.class);
 
 	public static final String RANGER_PROP_POLICYMGR_URL                         = "ranger.service.store.rest.url";
 	public static final String RANGER_PROP_POLICYMGR_SSLCONFIG_FILENAME          = "ranger.service.store.rest.ssl.config.file";
@@ -247,7 +247,7 @@ public class RangerRESTClient {
 		try {
 			gsonBuilder = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").create();
 		} catch(Throwable excp) {
-			LOG.fatal("RangerRESTClient.init(): failed to create GsonBuilder object", excp);
+			LOG.error("RangerRESTClient.init(): failed to create GsonBuilder object", excp);
 		}
 
 		mIsSSL = StringUtils.containsIgnoreCase(mUrl, "https");
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTUtils.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTUtils.java
index adf0c0a..e5ab8da 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTUtils.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTUtils.java
@@ -24,8 +24,8 @@ import java.net.InetAddress;
 import java.net.UnknownHostException;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import com.kstruct.gethostname4j.Hostname;
 
 /**
@@ -34,7 +34,7 @@ import com.kstruct.gethostname4j.Hostname;
  */
 public class RangerRESTUtils {
 
-	private static final Log LOG = LogFactory.getLog(RangerRESTUtils.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerRESTUtils.class);
 
 	public static final String REST_URL_POLICY_GET_FOR_SERVICE_IF_UPDATED = "/service/plugins/policies/download/";
 	public static final String REST_URL_SERVICE_GRANT_ACCESS              = "/service/plugins/services/grant/";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRequestExprResolver.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRequestExprResolver.java
index ceffdda..2e486ed 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRequestExprResolver.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRequestExprResolver.java
@@ -19,10 +19,10 @@
 
 package org.apache.ranger.plugin.util;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerRequestScriptEvaluator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.script.ScriptEngine;
 import java.util.Objects;
@@ -31,7 +31,7 @@ import java.util.regex.Pattern;
 
 
 public class RangerRequestExprResolver {
-    private static final Log LOG = LogFactory.getLog(RangerRequestExprResolver.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerRequestExprResolver.class);
 
     private static final String  REGEX_GROUP_EXPR   = "expr";
     private static final String  SCRIPT_ENGINE_NAME = "JavaScript";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
index 46bfde2..6efd13f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
@@ -22,11 +22,11 @@ package org.apache.ranger.plugin.util;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.admin.client.RangerAdminClient;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.FileReader;
@@ -38,9 +38,9 @@ import java.util.HashSet;
 
 
 public class RangerRolesProvider {
-	private static final Log LOG = LogFactory.getLog(RangerRolesProvider.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerRolesProvider.class);
 
-	private static final Log PERF_POLICYENGINE_INIT_LOG = RangerPerfTracer.getPerfLogger("policyengine.init");
+	private static final Logger PERF_POLICYENGINE_INIT_LOG = RangerPerfTracer.getPerfLogger("policyengine.init");
 
 	private final String            serviceType;
 	private final String            serviceName;
@@ -83,7 +83,7 @@ public class RangerRolesProvider {
 		try {
 			gson = new GsonBuilder().setDateFormat("yyyyMMdd-HH:mm:ss.SSS-Z").create();
 		} catch (Throwable excp) {
-			LOG.fatal("RangerRolesProvider(): failed to create GsonBuilder object", excp);
+			LOG.error("RangerRolesProvider(): failed to create GsonBuilder object", excp);
 		}
 		this.gson = gson;
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerServiceTagsDeltaUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerServiceTagsDeltaUtil.java
index 00e8d86..76d5fd9 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerServiceTagsDeltaUtil.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerServiceTagsDeltaUtil.java
@@ -20,12 +20,12 @@
 package org.apache.ranger.plugin.util;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.authorization.hadoop.config.RangerAdminConfig;
 import org.apache.ranger.plugin.model.RangerServiceResource;
 import org.apache.ranger.plugin.model.RangerTag;
 import org.apache.ranger.plugin.model.RangerTagDef;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -36,9 +36,9 @@ import java.util.Map;
 
 public class RangerServiceTagsDeltaUtil {
 
-    private static final Log LOG = LogFactory.getLog(RangerServiceTagsDeltaUtil.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerServiceTagsDeltaUtil.class);
 
-    private static final Log PERF_TAGS_DELTA_LOG = RangerPerfTracer.getPerfLogger("tags.delta");
+    private static final Logger PERF_TAGS_DELTA_LOG = RangerPerfTracer.getPerfLogger("tags.delta");
 
     private static boolean SUPPORTS_TAGS_DEDUP_INITIALIZED = false;
     private static boolean SUPPORTS_TAGS_DEDUP             = false;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerSslHelper.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerSslHelper.java
index 26eaae2..88c959c 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerSslHelper.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerSslHelper.java
@@ -39,14 +39,14 @@ import javax.net.ssl.SSLSession;
 import javax.net.ssl.TrustManager;
 import javax.net.ssl.TrustManagerFactory;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.authorization.hadoop.utils.RangerCredentialProvider;
 import org.apache.ranger.authorization.utils.StringUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerSslHelper {
-	private static final Log LOG = LogFactory.getLog(RangerSslHelper.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerSslHelper.class);
 
 	static final String RANGER_POLICYMGR_CLIENT_KEY_FILE                  = "xasecure.policymgr.clientssl.keystore";	
 	static final String RANGER_POLICYMGR_CLIENT_KEY_FILE_TYPE             = "xasecure.policymgr.clientssl.keystore.type";
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/ScriptEngineUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/ScriptEngineUtil.java
index 983c578..f691640 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/ScriptEngineUtil.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/ScriptEngineUtil.java
@@ -21,10 +21,10 @@ package org.apache.ranger.plugin.util;
 
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.classloader.RangerPluginClassLoader;
 import org.apache.ranger.plugin.conditionevaluator.RangerScriptConditionEvaluator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineFactory;
@@ -32,7 +32,7 @@ import javax.script.ScriptEngineManager;
 import java.util.List;
 
 public class ScriptEngineUtil {
-    private static final Log LOG = LogFactory.getLog(RangerScriptConditionEvaluator.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerScriptConditionEvaluator.class);
 
 
     public static ScriptEngine createScriptEngine(String engineName, String serviceType) {
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
index 5c9c6db..71b532a 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
@@ -32,8 +32,6 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerPolicyDelta;
 import org.apache.ranger.plugin.model.RangerServiceDef;
@@ -43,6 +41,8 @@ import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnoreProperties;
 import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @JsonAutoDetect(fieldVisibility=Visibility.ANY)
 @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@@ -51,7 +51,7 @@ import org.codehaus.jackson.map.annotate.JsonSerialize;
 @XmlAccessorType(XmlAccessType.FIELD)
 public class ServicePolicies implements java.io.Serializable {
 	private static final long serialVersionUID = 1L;
-	private static final Log LOG = LogFactory.getLog(ServicePolicies.class);
+	private static final Logger LOG = LoggerFactory.getLogger(ServicePolicies.class);
 
 	private String             serviceName;
 	private Long               serviceId;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/XMLUtils.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/XMLUtils.java
index 3b674f8..62477cb 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/XMLUtils.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/XMLUtils.java
@@ -29,7 +29,8 @@ import javax.xml.XMLConstants;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -37,7 +38,7 @@ import org.w3c.dom.NodeList;
 
 public class XMLUtils {
 
-	private static final Logger LOG = Logger.getLogger(XMLUtils.class);
+	private static final Logger LOG = LoggerFactory.getLogger(XMLUtils.class);
 
 	private static final String XMLCONFIG_PROPERTY_TAGNAME = "property";
 	private static final String XMLCONFIG_NAME_TAGNAME = "name";
diff --git a/agents-common/src/main/java/org/apache/ranger/services/tag/RangerServiceTag.java b/agents-common/src/main/java/org/apache/ranger/services/tag/RangerServiceTag.java
index 678e72f..036de11 100644
--- a/agents-common/src/main/java/org/apache/ranger/services/tag/RangerServiceTag.java
+++ b/agents-common/src/main/java/org/apache/ranger/services/tag/RangerServiceTag.java
@@ -29,8 +29,8 @@ import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.store.TagStore;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Map;
@@ -41,7 +41,7 @@ import static org.apache.ranger.plugin.policyengine.RangerPolicyEngine.GROUP_PUB
 
 public class RangerServiceTag extends RangerBaseService {
 
-	private static final Log LOG = LogFactory.getLog(RangerServiceTag.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceTag.class);
 
 	public static final String TAG_RESOURCE_NAME = "tag";
 	public static final String RANGER_TAG_NAME_EXPIRES_ON = "EXPIRES_ON";
diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerSimpleMatcher.java b/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerSimpleMatcher.java
index fc19ed7..16e95d5 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerSimpleMatcher.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerSimpleMatcher.java
@@ -23,16 +23,16 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class RangerSimpleMatcher extends RangerAbstractConditionEvaluator {
 
-	private static final Log LOG = LogFactory.getLog(RangerSimpleMatcher.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerSimpleMatcher.class);
 
 	public static final String CONTEXT_NAME = "CONTEXT_NAME";
 
diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestCacheMap.java b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestCacheMap.java
index db8b813..66d191b 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestCacheMap.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestCacheMap.java
@@ -19,16 +19,16 @@
 
 package org.apache.ranger.plugin.policyengine;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Set;
 
 public class TestCacheMap {
-	private static final Log LOG = LogFactory.getLog(TestCacheMap.class);
+	private static final Logger LOG = LoggerFactory.getLogger(TestCacheMap.class);
 	private static CacheMap<String, String> testCacheMap;
 	private static int initialCapacity = 16;
 
diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestProjectProvider.java b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestProjectProvider.java
index ef99ecb..4027fdd 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestProjectProvider.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestProjectProvider.java
@@ -20,9 +20,9 @@
 package org.apache.ranger.plugin.policyengine;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.contextenricher.RangerAbstractContextEnricher;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Map;
 import java.util.Properties;
@@ -53,7 +53,7 @@ import java.util.Properties;
  @see <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html#load(java.io.Reader)">Java Properties List</a>
  */
 public class TestProjectProvider extends RangerAbstractContextEnricher {
-	private static final Log LOG = LogFactory.getLog(TestProjectProvider.class);
+	private static final Logger LOG = LoggerFactory.getLogger(TestProjectProvider.class);
 
 	private String     contextName    = "PROJECT";
 	private Properties userProjectMap = null;
diff --git a/agents-common/src/test/resources/log4j.xml b/agents-common/src/test/resources/log4j.xml
deleted file mode 100644
index 714d463..0000000
--- a/agents-common/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
-    <appender name="console" class="org.apache.log4j.ConsoleAppender">
-        <param name="target" value="System.err" />
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="%d{ISO8601} %-5p [%t] %c{2}: %m%n" />
-        </layout>
-    </appender>
-
-    <appender name="ranger_perf_appender" class="org.apache.log4j.ConsoleAppender">
-        <param name="target" value="System.err" />
-        <param name="datePattern" value="'.'yyyy-MM-dd" />
-        <param name="append" value="true" />
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="%d [%t] %m%n" />
-        </layout>
-    </appender>
-    <!--
-    <logger name="org.apache.ranger.perf.resourcetrie" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-    <logger name="org.apache.ranger.perf.policyengine.getResourceACLs" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.policy.init.ACLSummary" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.policyengine" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.policy" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.policyitem" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.policyresourcematcher" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.contextenricher" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.policycondition" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.db" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.rest.ServiceREST" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-
-    <logger name="org.apache.ranger.perf.policyresourcematcher" additivity="false">
-        <level value="debug" />
-        <appender-ref ref="ranger_perf_appender" />
-    </logger>
-        -->
-    <root>
-        <level value="warn" />
-        <appender-ref ref="console" />
-    </root>
-
-</log4j:configuration>
diff --git a/agents-common/src/test/resources/logback.xml b/agents-common/src/test/resources/logback.xml
new file mode 100644
index 0000000..7e59c78
--- /dev/null
+++ b/agents-common/src/test/resources/logback.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+
+  <appender name="ranger_perf_appender" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d [%t] - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/agents-cred/pom.xml b/agents-cred/pom.xml
index 7bbace8..ca48679 100644
--- a/agents-cred/pom.xml
+++ b/agents-cred/pom.xml
@@ -32,11 +32,6 @@
     </parent>
     <dependencies>
         <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>${commons.logging.version}</version>
-        </dependency>
-        <dependency>
             <groupId>com.nimbusds</groupId>
             <artifactId>nimbus-jose-jwt</artifactId>
             <version>${nimbus-jose-jwt.version}</version>
@@ -63,12 +58,26 @@
                    <groupId>io.netty</groupId>
                    <artifactId>netty-transport-native-epoll</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>${log4j.version}</version>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>${logback.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
diff --git a/agents-cred/src/main/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProvider.java b/agents-cred/src/main/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProvider.java
index 07bae00..ac7ccd2 100644
--- a/agents-cred/src/main/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProvider.java
+++ b/agents-cred/src/main/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProvider.java
@@ -24,13 +24,13 @@ import java.util.List;
 import org.apache.hadoop.security.alias.CredentialProvider;
 import org.apache.hadoop.security.alias.CredentialProviderFactory;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public final class RangerCredentialProvider {
 
-	private static final Log LOG = LogFactory.getLog(RangerCredentialProvider.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerCredentialProvider.class);
 
 	private static final RangerCredentialProvider CRED_PROVIDER = new RangerCredentialProvider();
 
diff --git a/agents-cred/src/test/resources/log4j.properties b/agents-cred/src/test/resources/log4j.properties
deleted file mode 100644
index 1825e24..0000000
--- a/agents-cred/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Define some default values that can be overridden by system properties
-ranger.root.logger=FATAL,console
-# Define the root logger to the system property "hbase.root.logger".
-log4j.rootLogger=${ranger.root.logger}
-
-# Logging Threshold
-log4j.threshold=ALL
-
-#
-# console
-# Add "console" to rootlogger above if you want to use this
-#
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.target=System.err
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2}: %m%n
diff --git a/agents-cred/src/test/resources/logback.xml b/agents-cred/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/agents-cred/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/credentialbuilder/pom.xml b/credentialbuilder/pom.xml
index 0589de2..b8b3440 100644
--- a/credentialbuilder/pom.xml
+++ b/credentialbuilder/pom.xml
@@ -44,14 +44,9 @@
             <version>${commons.configuration.version}</version>
         </dependency>
         <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-            <version>${commons.lang.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>${commons.logging.version}</version>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>${commons.lang3.version}</version>
         </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
@@ -65,7 +60,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
-            <version>${slf4j-api.version}</version>
+            <version>${slf4j.version}</version>
         </dependency>
         <dependency>
             <groupId>com.nimbusds</groupId>
@@ -98,17 +93,41 @@
                    <groupId>io.netty</groupId>
                    <artifactId>netty-transport-native-epoll</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-auth</artifactId>
             <version>${hadoop.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-compress</artifactId>
             <version>${commons.compress.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/credentialbuilder/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java b/credentialbuilder/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java
index 5b72c9d..679b572 100644
--- a/credentialbuilder/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java
+++ b/credentialbuilder/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java
@@ -21,7 +21,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.alias.CredentialProvider;
 import org.apache.hadoop.security.alias.CredentialProviderFactory;
diff --git a/dev-support/ranger-docker/scripts/ranger-admin-install.properties b/dev-support/ranger-docker/scripts/ranger-admin-install.properties
index 9960080..f4e623c 100644
--- a/dev-support/ranger-docker/scripts/ranger-admin-install.properties
+++ b/dev-support/ranger-docker/scripts/ranger-admin-install.properties
@@ -22,7 +22,7 @@ RANGER_ADMIN_LOG_DIR=/var/log/ranger
 RANGER_PID_DIR_PATH=/var/run/ranger
 DB_FLAVOR=POSTGRES
 SQL_CONNECTOR_JAR=/usr/share/java/postgresql.jar
-RANGER_ADMIN_LOG4J_CONF_FILE=/opt/ranger/admin/ews/webapp/WEB-INF/log4j.properties
+RANGER_ADMIN_LOG4J_CONF_FILE=/opt/ranger/admin/ews/webapp/WEB-INF/logback.xml
 
 db_root_user=postgres
 db_root_password=rangerR0cks!
diff --git a/distro/src/main/assembly/admin-web.xml b/distro/src/main/assembly/admin-web.xml
index a1ae4b9..9294205 100644
--- a/distro/src/main/assembly/admin-web.xml
+++ b/distro/src/main/assembly/admin-web.xml
@@ -233,10 +233,9 @@
           <include>org.apache.tomcat.embed:tomcat-embed*</include>
           <include>org.apache.tomcat:tomcat-annotations-api*</include>
           <include>org.eclipse.jdt.core.compiler:ecj:jar:P20140317-1600</include>
-          <include>log4j:log4j</include>
           <include>org.apache.hadoop:hadoop-auth:jar:${hadoop.version}</include>
           <include>org.apache.ranger:ranger-plugins-common</include>
-          <include>org.slf4j:slf4j-api</include>
+          <include>org.slf4j:slf4j-api:jar:${slf4j.version}</include>
           <include>org.apache.hadoop:hadoop-common</include>
           <include>commons-logging:commons-logging</include>
           <include>com.sun.jersey.contribs:jersey-multipart</include>
@@ -269,8 +268,6 @@
           <include>org.apache.httpcomponents:httpasyncclient:jar:${httpcomponents.httpasyncclient.version}</include>
           <include>org.apache.httpcomponents:httpcore-nio</include>
           <include>com.fasterxml.jackson.core:jackson-core</include>
-          <include>org.apache.logging.log4j:log4j-core</include>
-          <include>org.apache.logging.log4j:log4j-api</include>
           <include>org.apache.lucene:lucene-core</include>
           <include>com.carrotsearch:hppc</include>
           <include>joda-time:joda-time</include>
@@ -278,6 +275,9 @@
           <include>org.apache.ranger:ugsyn-util</include>
           <include>org.eclipse.jetty:jetty-client:jar:${jetty-client.version}</include>
           <include>org.apache.commons:commons-compress:jar:${commons.compress.version}</include>
+          <include>org.slf4j:log4j-over-slf4j:jar:${slf4j.version}</include>
+          <include>ch.qos.logback:logback-classic:jar:${logback.version}</include>
+          <include>ch.qos.logback:logback-core:jar:${logback.version}</include>
         </includes>
       </binaries>
     </moduleSet>
@@ -301,7 +301,7 @@
           <include>commons-lang:commons-lang</include>
           <include>commons-logging:commons-logging</include>
           <include>com.google.guava:guava</include>
-          <include>org.slf4j:slf4j-api</include>
+          <include>org.slf4j:slf4j-api:jar:${slf4j.version}</include>
           <include>org.apache.commons:commons-lang3</include>
           <include>org.apache.hadoop:hadoop-common</include>
           <include>org.apache.htrace:htrace-core4:jar:${htrace-core.version}</include>
diff --git a/distro/src/main/assembly/hbase-agent.xml b/distro/src/main/assembly/hbase-agent.xml
index f550276..ff53ca2 100644
--- a/distro/src/main/assembly/hbase-agent.xml
+++ b/distro/src/main/assembly/hbase-agent.xml
@@ -96,6 +96,8 @@
           <include>commons-io:commons-io:jar:${commons.io.version}</include>
           <include>commons-lang:commons-lang</include>
           <include>commons-logging:commons-logging:jar:${commons.logging.version}</include>
+          <include>org.apache.commons:commons-lang3:jar:${commons.lang3.version}</include>
+          <include>org.apache.commons:commons-compress:jar:${commons.compress.version}</include>
           <include>com.google.guava:guava:jar:${google.guava.version}</include>
           <include>org.slf4j:slf4j-api:jar:${slf4j-api.version}</include>
           <include>org.apache.hadoop:hadoop-common:jar:${hadoop.version}</include>
diff --git a/distro/src/main/assembly/hive-agent.xml b/distro/src/main/assembly/hive-agent.xml
index f58bb2e..5bae92a 100644
--- a/distro/src/main/assembly/hive-agent.xml
+++ b/distro/src/main/assembly/hive-agent.xml
@@ -101,6 +101,7 @@
           <include>org.slf4j:slf4j-api:jar:${slf4j-api.version}</include>
           <include>org.apache.hadoop:hadoop-common:jar:${hadoop.version}</include>
           <include>org.apache.hadoop:hadoop-auth:jar:${hadoop.version}</include>
+          <include>org.apache.htrace:htrace-core4</include>
           <include>org.codehaus.woodstox:stax2-api</include>
           <include>com.fasterxml.woodstox:woodstox-core</include>
         </includes>
diff --git a/distro/src/main/assembly/plugin-kafka.xml b/distro/src/main/assembly/plugin-kafka.xml
index 941cbd7..ed8ef61 100644
--- a/distro/src/main/assembly/plugin-kafka.xml
+++ b/distro/src/main/assembly/plugin-kafka.xml
@@ -58,7 +58,7 @@
 					<include>org.eclipse.jetty:jetty-client:jar:${jetty-client.version}</include>
 					<include>commons-collections:commons-collections</include>
 					<include>com.sun.jersey:jersey-bundle</include>
-					<include>commons-logging:commons-logging:jar:${commons.logging.version}</include>
+					<include>commons-logging:commons-logging</include>
 					<include>commons-lang:commons-lang</include>
 					<include>commons-io:commons-io</include>
 					<include>org.apache.httpcomponents:httpclient:jar:${httpcomponents.httpclient.version}</include>
diff --git a/distro/src/main/assembly/sample-client.xml b/distro/src/main/assembly/sample-client.xml
index 241eea6..cdf1140 100644
--- a/distro/src/main/assembly/sample-client.xml
+++ b/distro/src/main/assembly/sample-client.xml
@@ -100,4 +100,4 @@
             </includes>
         </fileSet>
     </fileSets>
-</assembly>
\ No newline at end of file
+</assembly>
diff --git a/distro/src/main/assembly/tagsync.xml b/distro/src/main/assembly/tagsync.xml
index 82d716f..c467e5a 100644
--- a/distro/src/main/assembly/tagsync.xml
+++ b/distro/src/main/assembly/tagsync.xml
@@ -71,7 +71,7 @@
 							<include>org.codehaus.jackson:jackson-jaxrs:jar:${codehaus.jackson.version}</include>
 							<include>org.codehaus.jettison:jettison:jar:${jettison.version}</include>
 							<include>org.scala-lang:scala-library:jar:${scala.version}</include>
-							<include>org.slf4j:slf4j-api</include>
+							<include>org.slf4j:slf4j-api:jar:${slf4j.version}</include>
 							<include>aopalliance:aopalliance:jar:${aopalliance.version}</include>
 							<include>commons-cli:commons-cli:jar:${commons.cli.version}</include>
 							<include>commons-codec:commons-codec:jar:${commons.codec.version}</include>
@@ -82,7 +82,6 @@
 							<include>commons-logging:commons-logging:jar:${commons.logging.version}</include>
 							<include>javax.inject:javax.inject:jar:${javax-inject.version}</include>
 							<include>joda-time:joda-time:jar:${joda-time.version}</include>
-							<include>log4j:log4j:jar:${log4j.version}</include>
 							<include>org.codehaus.woodstox:stax2-api</include>
 							<include>com.fasterxml.woodstox:woodstox-core</include>
 							<include>org.apache.htrace:htrace-core4</include>
@@ -94,6 +93,9 @@
 							<include>org.apache.commons:commons-configuration2:jar:${commons.configuration.version}</include>
 							<include>org.cloudera.logredactor:logredactor</include>
 							<include>org.apache.commons:commons-lang3</include>
+							<include>org.slf4j:log4j-over-slf4j:jar:${slf4j.version}</include>
+							<include>ch.qos.logback:logback-classic:jar:${logback.version}</include>
+							<include>ch.qos.logback:logback-core:jar:${logback.version}</include>
 						</includes>
 					</dependencySet>
 				</dependencySets>
diff --git a/distro/src/main/assembly/usersync.xml b/distro/src/main/assembly/usersync.xml
index 5279f65..e1c4b1b 100644
--- a/distro/src/main/assembly/usersync.xml
+++ b/distro/src/main/assembly/usersync.xml
@@ -42,7 +42,6 @@
 						<includes>
 							<include>com.google.code.gson:gson</include>
 							<include>com.sun.jersey:jersey-bundle</include>
-							<include>log4j:log4j</include>
 							<include>commons-cli:commons-cli</include>
 							<include>commons-collections:commons-collections</include>
 							<include>org.apache.commons:commons-configuration2</include>
@@ -50,7 +49,7 @@
 							<include>commons-logging:commons-logging</include>
 							<include>com.google.guava:guava</include>
 							<include>org.apache.hadoop:hadoop-auth</include>
-							<include>org.slf4j:slf4j-api</include>
+							<include>org.slf4j:slf4j-api:jar:${slf4j.version}</include>
 							<include>org.apache.hadoop:hadoop-common</include>
 							<include>org.apache.commons:commons-csv</include>
 							<include>org.apache.ranger:credentialbuilder</include>
@@ -83,6 +82,9 @@
 							<include>org.codehaus.jackson:jackson-xc:jar:${codehaus.jackson.version}</include>
 							<include>org.apache.commons:commons-compress:jar:${commons.compress.version}</include>
 							<include>org.apache.commons:commons-lang3</include>
+							<include>ch.qos.logback:logback-classic:jar:${logback.version}</include>
+							<include>org.slf4j:log4j-over-slf4j:jar:${${slf4j.version}}</include>
+							<include>ch.qos.logback:logback-core:jar:${logback.version}</include>
 						</includes>
 					</dependencySet>
 					<dependencySet>
diff --git a/embeddedwebserver/pom.xml b/embeddedwebserver/pom.xml
index 0418055..67618fb 100644
--- a/embeddedwebserver/pom.xml
+++ b/embeddedwebserver/pom.xml
@@ -59,9 +59,14 @@
             <version>P20140317-1600</version>
         </dependency>
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>${log4j.version}</version>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>${logback.version}</version>
         </dependency>
         <dependency>
             <groupId>com.nimbusds</groupId>
diff --git a/embeddedwebserver/scripts/ranger-admin-services.sh b/embeddedwebserver/scripts/ranger-admin-services.sh
index bced4ad..54ac410 100755
--- a/embeddedwebserver/scripts/ranger-admin-services.sh
+++ b/embeddedwebserver/scripts/ranger-admin-services.sh
@@ -59,7 +59,7 @@ fi
 
 if [ -z "${RANGER_ADMIN_LOG4J_CONF_FILE}" ]
 then
-	RANGER_ADMIN_LOG4J_CONF_FILE=${XAPOLICYMGR_EWS_DIR}/webapp/WEB-INF/log4j.properties
+	RANGER_ADMIN_LOG4J_CONF_FILE=${XAPOLICYMGR_EWS_DIR}/webapp/WEB-INF/logback.xml
 fi
 
 if [ -z "${RANGER_PID_DIR_PATH}" ]
@@ -91,7 +91,7 @@ fi
 SERVER_NAME=rangeradmin
 start() {
 	SLEEP_TIME_AFTER_START=5
-	nohup  java -Dproc_rangeradmin ${JAVA_OPTS} -Dlog4j.configuration=file:${RANGER_ADMIN_LOG4J_CONF_FILE}  -Duser=${USER} -Dhostname=${HOSTNAME} ${DB_SSL_PARAM} -Dservername=${SERVER_NAME} -Dlogdir=${RANGER_ADMIN_LOG_DIR} -Dcatalina.base=${XAPOLICYMGR_EWS_DIR} -cp "${XAPOLICYMGR_EWS_DIR}/webapp/WEB-INF/classes/conf:${XAPOLICYMGR_EWS_DIR}/lib/*:${XAPOLICYMGR_EWS_DIR}/webapp/WEB-INF/lib/*:${RANGER_JAAS_LIB_DIR}/*:${RANGER_JAAS_CONF_DIR}:${JAVA_HOME}/lib/*:${RANGER_HADOOP_CONF_DIR}/*:$CLASSPA [...]
+	nohup  java -Dproc_rangeradmin ${JAVA_OPTS} -Dlogback.configurationFile=file:${RANGER_ADMIN_LOG4J_CONF_FILE}  -Duser=${USER} -Dhostname=${HOSTNAME} ${DB_SSL_PARAM} -Dservername=${SERVER_NAME} -Dlogdir=${RANGER_ADMIN_LOG_DIR} -Dcatalina.base=${XAPOLICYMGR_EWS_DIR} -cp "${XAPOLICYMGR_EWS_DIR}/webapp/WEB-INF/classes/conf:${XAPOLICYMGR_EWS_DIR}/lib/*:${XAPOLICYMGR_EWS_DIR}/webapp/WEB-INF/lib/*:${RANGER_JAAS_LIB_DIR}/*:${RANGER_JAAS_CONF_DIR}:${JAVA_HOME}/lib/*:${RANGER_HADOOP_CONF_DIR}/*:$C [...]
 	VALUE_OF_PID=$!
 	echo "Starting Apache Ranger Admin Service"
 	sleep $SLEEP_TIME_AFTER_START
diff --git a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
index 0798709..93ba6c0 100644
--- a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
+++ b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
@@ -45,7 +45,6 @@ import org.apache.catalina.valves.AccessLogValve;
 import org.apache.catalina.valves.ErrorReportValve;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.security.SecureClientLogin;
-import org.apache.log4j.PropertyConfigurator;
 
 import org.apache.ranger.credentialapi.CredentialReader;
 
@@ -95,16 +94,6 @@ public class EmbeddedServer {
 			configFile = args[0];
 		}
 
-		try {
-			// load log configuration file dynamically if log4j.properties changed
-			if (StringUtils.isNotBlank(System.getProperty("log4j.configuration"))) {
-				String logPropFile = StringUtils.splitByWholeSeparator(System.getProperty("log4j.configuration"), ":")[1];
-				PropertyConfigurator.configureAndWatch(logPropFile, 10000L);
-			}
-		} catch (Exception ignored) {
-			LOG.warning("Failed to get log4j.configuration  Reason: " + ignored.toString());
-		}
-
 		EmbeddedServerUtil.loadRangerConfigProperties(configFile);
 	}
 
diff --git a/hbase-agent/pom.xml b/hbase-agent/pom.xml
index 5909d21..51e59ff 100644
--- a/hbase-agent/pom.xml
+++ b/hbase-agent/pom.xml
@@ -50,6 +50,14 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -61,6 +69,14 @@
                     <groupId>org.apache.hadoop</groupId>
                     <artifactId>*</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -124,6 +140,14 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -137,6 +161,14 @@
                     <groupId>org.apache.hadoop</groupId>
                     <artifactId>*</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -176,6 +208,10 @@
                     <groupId>org.apache.hadoop</groupId>
                     <artifactId>*</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -192,17 +228,45 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-common</artifactId>
             <version>${hadoop.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-auth</artifactId>
             <version>${hadoop.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -219,9 +283,23 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-server</artifactId>
             <version>${hbase.jetty.version}</version>
diff --git a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/AuthorizationSession.java b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/AuthorizationSession.java
index 95ab504..2e8eeaf 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/AuthorizationSession.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/AuthorizationSession.java
@@ -24,8 +24,6 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.security.AccessDeniedException;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
@@ -34,6 +32,8 @@ import org.apache.ranger.plugin.policyengine.RangerAccessRequestImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResourceImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.Lists;
@@ -41,7 +41,7 @@ import com.google.common.collect.Sets;
 
 public class AuthorizationSession {
 
-	private static final Log LOG = LogFactory.getLog(AuthorizationSession.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(AuthorizationSession.class.getName());
 	// collaborator objects
 	final HbaseFactory _factory = HbaseFactory.getInstance();
 	final HbaseUserUtils _userUtils = _factory.getUserUtils();
diff --git a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/ColumnIterator.java b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/ColumnIterator.java
index 7d78c08..513aa3b 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/ColumnIterator.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/ColumnIterator.java
@@ -24,16 +24,16 @@ import java.util.List;
 import java.util.NoSuchElementException;
 import java.util.Set;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ColumnIterator implements Iterator<String> {
 	// TODO write tests for this class
 	
-	private static final Log LOG = LogFactory.getLog(ColumnIterator.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(ColumnIterator.class.getName());
 	Iterator<byte[]> _setIterator;
 	Iterator<Cell> _listIterator;
 	
diff --git a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseAuditHandlerImpl.java b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseAuditHandlerImpl.java
index bbf7db3..6710f69 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseAuditHandlerImpl.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseAuditHandlerImpl.java
@@ -21,16 +21,16 @@ package org.apache.ranger.authorization.hbase;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.plugin.audit.RangerDefaultAuditHandler;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HbaseAuditHandlerImpl extends RangerDefaultAuditHandler implements HbaseAuditHandler {
 
-	private static final Log LOG = LogFactory.getLog(HbaseAuditHandlerImpl.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HbaseAuditHandlerImpl.class);
 	static final List<AuthzAuditEvent> _EmptyList = new ArrayList<AuthzAuditEvent>();
 	final List<AuthzAuditEvent> _allEvents = new ArrayList<AuthzAuditEvent>();
 	// we replace its contents anytime new audit events are generated.
diff --git a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseAuthUtilsImpl.java b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseAuthUtilsImpl.java
index ffd99f6..0b2b64b 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseAuthUtilsImpl.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseAuthUtilsImpl.java
@@ -18,16 +18,16 @@
  */
 package org.apache.ranger.authorization.hbase;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.security.access.Permission.Action;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HbaseAuthUtilsImpl implements HbaseAuthUtils {
 
-	private static final Log LOG = LogFactory.getLog(HbaseAuthUtilsImpl.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(HbaseAuthUtilsImpl.class.getName());
 	@Override
 	public String getAccess(Action action) {
 		switch(action) {
diff --git a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseUserUtilsImpl.java b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseUserUtilsImpl.java
index 2343734..32b7cca 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseUserUtilsImpl.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/HbaseUserUtilsImpl.java
@@ -26,15 +26,15 @@ import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.ipc.RpcServer;
 import org.apache.hadoop.hbase.security.User;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HbaseUserUtilsImpl implements HbaseUserUtils {
 
-	private static final Log LOG = LogFactory.getLog(HbaseUserUtilsImpl.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(HbaseUserUtilsImpl.class.getName());
 	private static final String SUPERUSER_CONFIG_PROP = "hbase.superuser";
 
 	// only to detect problems with initialization order, not for thread-safety.
diff --git a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationCoprocessor.java b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationCoprocessor.java
index 9be6914..fbb1bb4 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationCoprocessor.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationCoprocessor.java
@@ -28,8 +28,6 @@ import com.google.protobuf.Service;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.*;
 import org.apache.hadoop.hbase.client.*;
@@ -74,6 +72,8 @@ import org.apache.ranger.plugin.policyengine.RangerPolicyEngine;
 import org.apache.ranger.plugin.policyevaluator.RangerPolicyEvaluator;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.apache.ranger.plugin.util.GrantRevokeRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.Lists;
@@ -84,8 +84,8 @@ import com.google.protobuf.RpcController;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
 
 public class RangerAuthorizationCoprocessor implements AccessControlService.Interface, RegionCoprocessor, MasterCoprocessor, RegionServerCoprocessor, MasterObserver, RegionObserver, RegionServerObserver, EndpointObserver, BulkLoadObserver, Coprocessor {
-	private static final Log LOG = LogFactory.getLog(RangerAuthorizationCoprocessor.class.getName());
-	private static final Log PERF_HBASEAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("hbaseauth.request");
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAuthorizationCoprocessor.class.getName());
+	private static final Logger PERF_HBASEAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("hbaseauth.request");
 	private static boolean UpdateRangerPoliciesOnGrantRevoke = RangerHadoopConstants.HBASE_UPDATE_RANGER_POLICIES_ON_GRANT_REVOKE_DEFAULT_VALUE;
 	private static final String GROUP_PREFIX = "@";
 
@@ -1860,7 +1860,7 @@ public class RangerAuthorizationCoprocessor implements AccessControlService.Inte
 
 
 class RangerHBasePlugin extends RangerBasePlugin {
-	private static final Log LOG = LogFactory.getLog(RangerHBasePlugin.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerHBasePlugin.class);
 	boolean isHBaseShuttingDown  = false;
 
 	public RangerHBasePlugin(String appType) {
diff --git a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationFilter.java b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationFilter.java
index a1799ce..6e3900a 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationFilter.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationFilter.java
@@ -25,17 +25,17 @@ import java.util.Map;
 import java.util.Set;
 
 import com.google.common.base.MoreObjects;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.filter.FilterBase;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerAuthorizationFilter extends FilterBase {
 
-	private static final Log LOG = LogFactory.getLog(RangerAuthorizationFilter.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAuthorizationFilter.class.getName());
 	final Set<String> _familiesAccessAllowed;
 	final Set<String> _familiesAccessDenied;
 	final Set<String> _familiesAccessIndeterminate;
diff --git a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/RangerServiceHBase.java b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/RangerServiceHBase.java
index 74188d2..962be1a 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/RangerServiceHBase.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/RangerServiceHBase.java
@@ -34,12 +34,12 @@ import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.hbase.client.HBaseResourceMgr;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerServiceHBase extends RangerBaseService {
 
-	private static final Log LOG = LogFactory.getLog(RangerServiceHBase.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceHBase.class);
 	public static final String ACCESS_TYPE_READ  = "read";
 	public static final String ACCESS_TYPE_CREATE  = "create";
 	
diff --git a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseClient.java b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseClient.java
index 28c582c..2d7e7b7 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseClient.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseClient.java
@@ -27,18 +27,18 @@ import java.util.regex.Pattern;
 
 import javax.security.auth.Subject;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.*;
 import org.apache.hadoop.hbase.client.*;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class HBaseClient extends BaseClient {
 
-	private static final Log LOG 			 = LogFactory.getLog(HBaseClient.class);
+	private static final Logger LOG 			 = LoggerFactory.getLogger(HBaseClient.class);
 
 	private static Subject subj 			 = null;
 
diff --git a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseConnectionMgr.java b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseConnectionMgr.java
index 560d754..7b17f88 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseConnectionMgr.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseConnectionMgr.java
@@ -26,13 +26,14 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class HBaseConnectionMgr {
 
-	private static final Logger LOG = Logger.getLogger(HBaseConnectionMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HBaseConnectionMgr.class);
 
 	protected ConcurrentMap<String, HBaseClient> hbaseConnectionCache;
 	
diff --git a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseResourceMgr.java b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseResourceMgr.java
index 5db6277..1577f5b 100644
--- a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseResourceMgr.java
+++ b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseResourceMgr.java
@@ -24,15 +24,15 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.util.TimedEventUtil;
-
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HBaseResourceMgr {
 
-	private static final Logger LOG = Logger.getLogger(HBaseResourceMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HBaseResourceMgr.class);
 	
 	private static final String TABLE 		 		    = "table";
 	private static final String COLUMNFAMILY 		    = "column-family";
diff --git a/hbase-agent/src/test/java/org/apache/ranger/authorization/hbase/HBaseRangerAuthorizationTest.java b/hbase-agent/src/test/java/org/apache/ranger/authorization/hbase/HBaseRangerAuthorizationTest.java
index 5241242..b559c33 100644
--- a/hbase-agent/src/test/java/org/apache/ranger/authorization/hbase/HBaseRangerAuthorizationTest.java
+++ b/hbase-agent/src/test/java/org/apache/ranger/authorization/hbase/HBaseRangerAuthorizationTest.java
@@ -25,8 +25,6 @@ import java.util.List;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
@@ -51,6 +49,8 @@ import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.junit.Assert;
 import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A custom RangerAdminClient is plugged into Ranger in turn, which loads security policies from a local file. These policies were 
@@ -74,7 +74,7 @@ import org.junit.Test;
 @org.junit.Ignore
 public class HBaseRangerAuthorizationTest {
 
-    private static final Log LOG = LogFactory.getLog(HBaseRangerAuthorizationTest.class.getName());
+    private static final Logger LOG = LoggerFactory.getLogger(HBaseRangerAuthorizationTest.class.getName());
 
     private static int port;
     private static HBaseTestingUtility utility;
diff --git a/hbase-agent/src/test/resources/log4j.properties b/hbase-agent/src/test/resources/log4j.properties
deleted file mode 100644
index cb409e8..0000000
--- a/hbase-agent/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-##-- To prevent junits from cluttering the build run by default all test runs send output to null appender 
-log4j.appender.devnull=org.apache.log4j.varia.NullAppender
-ranger.root.logger=FATAL,devnull
-
-##-- uncomment the following line during during development/debugging so see debug messages during test run to be emitted to console
-# ranger.root.logger=DEBUG,console
-
-log4j.rootLogger=${ranger.root.logger}
-
-# Logging Threshold
-log4j.threshold=ALL
-
-#
-# console
-# Add "console" to rootlogger above if you want to use this
-#
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.target=System.err
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2}: %m%n
diff --git a/hbase-agent/src/test/resources/logback.xml b/hbase-agent/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/hbase-agent/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/hdfs-agent/pom.xml b/hdfs-agent/pom.xml
index f70d55d..b16fd15 100644
--- a/hdfs-agent/pom.xml
+++ b/hdfs-agent/pom.xml
@@ -32,11 +32,6 @@
     </parent>
     <dependencies>
         <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>${commons.logging.version}</version>
-        </dependency>
-        <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>javax.servlet-api</artifactId>
             <version>${javax.servlet.version}</version>
@@ -50,6 +45,14 @@
                    <groupId>io.netty</groupId>
                    <artifactId>netty-transport-native-epoll</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -65,6 +68,14 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -111,8 +122,22 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                  </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
 
     </dependencies>
     <build>
diff --git a/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java b/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
index 6e87154..8940f36 100644
--- a/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
+++ b/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
@@ -35,8 +35,6 @@ import java.util.*;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsAction;
@@ -64,6 +62,8 @@ import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.resourcematcher.RangerPathResourceMatcher;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Sets;
 
@@ -78,8 +78,8 @@ public class RangerHdfsAuthorizer extends INodeAttributeProvider {
 
     public static final String RANGER_FILENAME_EXTENSION_SEPARATOR_PROP = "ranger.plugin.hdfs.filename.extension.separator";
 
-	private static final Log LOG = LogFactory.getLog(RangerHdfsAuthorizer.class);
-	private static final Log PERF_HDFSAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("hdfsauth.request");
+	private static final Logger LOG = LoggerFactory.getLogger(RangerHdfsAuthorizer.class);
+	private static final Logger PERF_HDFSAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("hdfsauth.request");
 
 	private RangerHdfsPlugin           rangerPlugin            = null;
 	private Map<FsAction, Set<String>> access2ActionListMapper = new HashMap<FsAction, Set<String>>();
@@ -819,7 +819,7 @@ public class RangerHdfsAuthorizer extends INodeAttributeProvider {
 
 
 class RangerHdfsPlugin extends RangerBasePlugin {
-	private static final Log LOG = LogFactory.getLog(RangerHdfsPlugin.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerHdfsPlugin.class);
 
 	private static String fileNameExtensionSeparator = RangerHdfsAuthorizer.DEFAULT_FILENAME_EXTENSION_SEPARATOR;
 
@@ -994,7 +994,7 @@ class AuthzContext {
 }
 
 class RangerHdfsAuditHandler extends RangerDefaultAuditHandler {
-	private static final Log LOG = LogFactory.getLog(RangerHdfsAuditHandler.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerHdfsAuditHandler.class);
 
 	private boolean         isAuditEnabled = false;
 	private AuthzAuditEvent auditEvent     = null;
diff --git a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/RangerServiceHdfs.java b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/RangerServiceHdfs.java
index 8de142e..e6411b3 100644
--- a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/RangerServiceHdfs.java
+++ b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/RangerServiceHdfs.java
@@ -38,12 +38,12 @@ import org.apache.ranger.plugin.resourcematcher.RangerPathResourceMatcher;
 import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.hdfs.client.HdfsResourceMgr;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerServiceHdfs extends RangerBaseService {
 
-    private static final Log    LOG                     = LogFactory.getLog(RangerServiceHdfs.class);
+    private static final Logger LOG                     = LoggerFactory.getLogger(RangerServiceHdfs.class);
     private static final String AUDITTOHDFS_KMS_PATH    = "/ranger/audit/kms";
     private static final String AUDITTOHDFS_POLICY_NAME = "kms-audit-path";
     public static final String  ACCESS_TYPE_READ        = "read";
diff --git a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsClient.java b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsClient.java
index 55f5980..675c912 100644
--- a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsClient.java
+++ b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsClient.java
@@ -29,8 +29,6 @@ import javax.security.auth.Subject;
 
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
@@ -40,10 +38,12 @@ import org.apache.hadoop.security.SecureClientLogin;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HdfsClient extends BaseClient {
 
-	private static final Log LOG = LogFactory.getLog(HdfsClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HdfsClient.class);
   private Configuration conf;
 
 	public HdfsClient(String serviceName, Map<String,String> connectionProperties) {
diff --git a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsConnectionMgr.java b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsConnectionMgr.java
index 83cae78..2e1cbfe 100644
--- a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsConnectionMgr.java
+++ b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsConnectionMgr.java
@@ -26,8 +26,9 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class HdfsConnectionMgr {
@@ -35,7 +36,7 @@ public class HdfsConnectionMgr {
 	protected ConcurrentMap<String, HdfsClient> 	hdfsConnectionCache = null;
 	protected ConcurrentMap<String, Boolean> 		repoConnectStatusMap = null;
 
-	private static final Logger LOG = Logger.getLogger(HdfsConnectionMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HdfsConnectionMgr.class);
 	
 	public HdfsConnectionMgr(){
 		hdfsConnectionCache  = new ConcurrentHashMap<String, HdfsClient>();
diff --git a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsResourceMgr.java b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsResourceMgr.java
index ffbab2a..602dd40 100644
--- a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsResourceMgr.java
+++ b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsResourceMgr.java
@@ -25,14 +25,15 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HdfsResourceMgr {
 
-	private static final Logger LOG 	= Logger.getLogger(HdfsResourceMgr.class);
+	private static final Logger LOG 	= LoggerFactory.getLogger(HdfsResourceMgr.class);
 	public static final String PATH	= "path";
 
 	public static Map<String, Object> connectionTest(String serviceName, Map<String, String> configs) throws Exception {
diff --git a/hdfs-agent/src/test/resources/log4j.properties b/hdfs-agent/src/test/resources/log4j.properties
deleted file mode 100644
index f7ab2ba..0000000
--- a/hdfs-agent/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-##-- To prevent junits from cluttering the build run by default all test runs send output to null appender
-log4j.appender.devnull=org.apache.log4j.varia.NullAppender
-ranger.root.logger=FATAL,devnull
-
-##-- uncomment the following line during during development/debugging so see debug messages during test run to be emitted to console
-# ranger.root.logger=DEBUG,console
-log4j.rootLogger=${ranger.root.logger}
-
-# Logging Threshold
-log4j.threshold=ALL
-
-#
-# console
-# Add "console" to rootlogger above if you want to use this
-#
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.target=System.err
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2}: %m%n
diff --git a/hdfs-agent/src/test/resources/logback.xml b/hdfs-agent/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/hdfs-agent/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/hive-agent/pom.xml b/hive-agent/pom.xml
index 0c8a08b..a700436 100644
--- a/hive-agent/pom.xml
+++ b/hive-agent/pom.xml
@@ -41,6 +41,16 @@
             <groupId>org.apache.hive</groupId>
             <artifactId>hive-common</artifactId>
             <version>${hive.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.hive</groupId>
@@ -55,6 +65,10 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -66,6 +80,14 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -135,9 +157,23 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-mapreduce-client-core</artifactId>
             <version>${hadoop.version}</version>
@@ -147,6 +183,10 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuditHandler.java b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuditHandler.java
index 742aeca..c0aac28 100644
--- a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuditHandler.java
+++ b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuditHandler.java
@@ -24,8 +24,6 @@ import java.util.*;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
@@ -34,12 +32,14 @@ import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerAccessResource;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Lists;
 
 public class RangerHiveAuditHandler extends RangerDefaultAuditHandler {
 
-	private static final Log LOG = LogFactory.getLog(RangerDefaultAuditHandler.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerDefaultAuditHandler.class);
 
 	public static final String  ACCESS_TYPE_ROWFILTER = "ROW_FILTER";
 	public static final String  ACTION_TYPE_METADATA_OPERATION = "METADATA OPERATION";
diff --git a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
index 951e550..5a0a0ff 100644
--- a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
+++ b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
@@ -36,8 +36,6 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -82,6 +80,8 @@ import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.apache.ranger.plugin.util.GrantRevokeRequest;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.GrantRevokeRoleRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Sets;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
@@ -89,9 +89,9 @@ import org.apache.ranger.plugin.util.RangerRoles;
 import org.apache.ranger.plugin.util.RangerRequestedResources;
 
 public class RangerHiveAuthorizer extends RangerHiveAuthorizerBase {
-	private static final Log LOG = LogFactory.getLog(RangerHiveAuthorizer.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerHiveAuthorizer.class);
 
-	private static final Log PERF_HIVEAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("hiveauth.request");
+	private static final Logger PERF_HIVEAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("hiveauth.request");
 
 	private static final char COLUMN_SEP = ',';
 
diff --git a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizerBase.java b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizerBase.java
index 5f6a7b9..6688683 100644
--- a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizerBase.java
+++ b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizerBase.java
@@ -21,8 +21,6 @@
 
 import java.util.List;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider;
@@ -40,10 +38,12 @@ import org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObje
 import org.apache.hadoop.hive.ql.security.authorization.plugin.SettableConfigUpdater;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.ranger.authorization.utils.StringUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public abstract class RangerHiveAuthorizerBase extends AbstractHiveAuthorizer {
 
-	private static final Log LOG = LogFactory.getLog(RangerHiveAuthorizerBase.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerHiveAuthorizerBase.class);
 
 	private HiveMetastoreClientFactory mMetastoreClientFactory;
 	private HiveConf                   mHiveConf;
diff --git a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHivePolicyProvider.java b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHivePolicyProvider.java
index 7bdd4b3..5c0fe7f 100644
--- a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHivePolicyProvider.java
+++ b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHivePolicyProvider.java
@@ -21,8 +21,6 @@ package org.apache.ranger.authorization.hive.authorizer;
 
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HivePolicyChangeListener;
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HivePolicyProvider;
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject;
@@ -34,6 +32,8 @@ import org.apache.ranger.plugin.policyevaluator.RangerPolicyEvaluator;
 import org.apache.ranger.plugin.service.RangerAuthContextListener;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.validation.constraints.NotNull;
 import java.util.HashMap;
@@ -42,9 +42,9 @@ import java.util.Map;
 import java.util.Set;
 
 public class RangerHivePolicyProvider implements HivePolicyProvider {
-    private static final Log LOG = LogFactory.getLog(RangerHivePolicyProvider.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerHivePolicyProvider.class);
 
-    private static final Log PERF_HIVEACLPROVIDER_REQUEST_LOG = RangerPerfTracer.getPerfLogger("hiveACLProvider.request");
+    private static final Logger PERF_HIVEACLPROVIDER_REQUEST_LOG = RangerPerfTracer.getPerfLogger("hiveACLProvider.request");
 
 	private final RangerHiveAuthContextListener authContextListener = new RangerHiveAuthContextListener();
 
diff --git a/hive-agent/src/main/java/org/apache/ranger/services/hive/RangerServiceHive.java b/hive-agent/src/main/java/org/apache/ranger/services/hive/RangerServiceHive.java
index e3b245c..a8d7177 100644
--- a/hive-agent/src/main/java/org/apache/ranger/services/hive/RangerServiceHive.java
+++ b/hive-agent/src/main/java/org/apache/ranger/services/hive/RangerServiceHive.java
@@ -37,12 +37,12 @@ import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.hive.client.HiveResourceMgr;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerServiceHive extends RangerBaseService {
 
-	private static final Log LOG = LogFactory.getLog(RangerServiceHive.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceHive.class);
 
 	public static final String RESOURCE_DATABASE  = "database";
 	public static final String RESOURCE_TABLE     = "table";
diff --git a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveClient.java b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveClient.java
index f7100a3..6d6bbbb 100644
--- a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveClient.java
+++ b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveClient.java
@@ -42,8 +42,6 @@ import javax.security.auth.Subject;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
@@ -52,10 +50,12 @@ import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.util.PasswordUtils;
 import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HiveClient extends BaseClient implements Closeable {
 
-	private static final Log LOG = LogFactory.getLog(HiveClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HiveClient.class);
 	
 	private static final String ERR_MSG = "You can still save the repository and start creating "
 			+ "policies, but you would not be able to use autocomplete for "
diff --git a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveConnectionMgr.java b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveConnectionMgr.java
index 5d7c8e5..6190283 100644
--- a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveConnectionMgr.java
+++ b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveConnectionMgr.java
@@ -25,13 +25,14 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class HiveConnectionMgr {
 
-	private static final Logger LOG = Logger.getLogger(HiveConnectionMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HiveConnectionMgr.class);
 	
 	protected ConcurrentMap<String, HiveClient> 	hiveConnectionCache;
 	protected ConcurrentMap<String, Boolean> 		repoConnectStatusMap;
diff --git a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveResourceMgr.java b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveResourceMgr.java
index f1da958..c817a3f 100644
--- a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveResourceMgr.java
+++ b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveResourceMgr.java
@@ -23,14 +23,15 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class HiveResourceMgr {
 
-	private static final Logger LOG = Logger.getLogger(HiveResourceMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(HiveResourceMgr.class);
 	
 	private static final String  DATABASE 	  = "database";
 	private static final String  TABLE	 	  = "table";
diff --git a/hive-agent/src/test/resources/log4j.properties b/hive-agent/src/test/resources/log4j.properties
deleted file mode 100644
index f7ab2ba..0000000
--- a/hive-agent/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-##-- To prevent junits from cluttering the build run by default all test runs send output to null appender
-log4j.appender.devnull=org.apache.log4j.varia.NullAppender
-ranger.root.logger=FATAL,devnull
-
-##-- uncomment the following line during during development/debugging so see debug messages during test run to be emitted to console
-# ranger.root.logger=DEBUG,console
-log4j.rootLogger=${ranger.root.logger}
-
-# Logging Threshold
-log4j.threshold=ALL
-
-#
-# console
-# Add "console" to rootlogger above if you want to use this
-#
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.target=System.err
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2}: %m%n
diff --git a/hive-agent/src/test/resources/logback.xml b/hive-agent/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/hive-agent/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/intg/src/main/resources/log4j.properties b/intg/src/main/resources/log4j.properties
deleted file mode 100644
index 9c8bd00..0000000
--- a/intg/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-log4j.rootLogger = INFO,console
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.Threshold=INFO
-log4j.appender.console.Target=System.out
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
\ No newline at end of file
diff --git a/intg/src/main/resources/logback.xml b/intg/src/main/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/intg/src/main/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/kms/config/kms-webapp/kms-log4j.properties b/kms/config/kms-webapp/kms-log4j.properties
deleted file mode 100644
index 886603e..0000000
--- a/kms/config/kms-webapp/kms-log4j.properties
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License. See accompanying LICENSE file.
-#
-
-# If the Java System property 'kms.log.dir' is not defined at KMS start up time
-# Setup sets its value to '${kms.home}/logs'
-
-log4j.appender.kms=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.kms.DatePattern='.'yyyy-MM-dd
-log4j.appender.kms.File=${kms.log.dir}/ranger-kms-${hostname}-${user}.log
-log4j.appender.kms.Append=true
-log4j.appender.kms.layout=org.apache.log4j.PatternLayout
-log4j.appender.kms.layout.ConversionPattern=%d{ISO8601} %-5p %c{1} - %m%n
-
-log4j.appender.kms-audit=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.kms-audit.DatePattern='.'yyyy-MM-dd
-log4j.appender.kms-audit.File=${kms.log.dir}/kms-audit-${hostname}-${user}.log
-log4j.appender.kms-audit.Append=true
-log4j.appender.kms-audit.layout=org.apache.log4j.PatternLayout
-log4j.appender.kms-audit.layout.ConversionPattern=%d{ISO8601} %m%n
-
-log4j.logger.kms-audit=INFO, kms-audit
-log4j.additivity.kms-audit=false
-
-log4j.appender.kms-metric=org.apache.log4j.RollingFileAppender
-log4j.appender.kms-metric.File=${kms.log.dir}/ranger_kms_metric_data_for_${metric.type}.log
-log4j.appender.kms-metric.Append=false
-log4j.appender.kms-metric.layout=org.apache.log4j.PatternLayout
-log4j.appender.kms-metric.layout.ConversionPattern=%m%n
-log4j.logger.org.apache.hadoop.crypto.key.kms.server.KMSMetricUtil=INFO,kms-metric
-
-log4j.logger=INFO, kms
-log4j.rootLogger=WARN, kms
-log4j.logger.org.apache.hadoop.conf=INFO
-log4j.logger.org.apache.hadoop=INFO
-log4j.logger.org.apache.ranger=INFO
-log4j.logger.com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator=OFF
\ No newline at end of file
diff --git a/kms/config/kms-webapp/kms-logback.xml b/kms/config/kms-webapp/kms-logback.xml
new file mode 100644
index 0000000..b7290c0
--- /dev/null
+++ b/kms/config/kms-webapp/kms-logback.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration scan="true">
+  <appender name="kms-audit" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
+    <!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
+    <!--for further documentation-->
+    <Append>true</Append>
+    <File>${kms.log.dir}/kms-audit-${hostname}-${user}.log</File>
+    <encoder>
+      <pattern>%d{ISO8601} %m%n</pattern>
+    </encoder>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${kms.log.dir}/kms-audit-${hostname}-${user}.log.%d{'.'yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+  </appender>
+  <appender name="kms-metric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <!--See also http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
+    <Append>false</Append>
+    <File>${kms.log.dir}/ranger_kms_metric_data_for_${metric.type}.log</File>
+    <encoder>
+      <pattern>%m%n</pattern>
+    </encoder>
+    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"/>
+    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"/>
+  </appender>
+  <appender name="kms" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
+    <!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
+    <!--for further documentation-->
+    <File>${kms.log.dir}/ranger-kms-${hostname}-${user}.log</File>
+    <Append>true</Append>
+    <encoder>
+      <pattern>%d{ISO8601} %-5p %c{1} - %m%n</pattern>
+    </encoder>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${kms.log.dir}/ranger-kms-${hostname}-${user}.log.%d{'.'yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+  </appender>
+  <logger name="com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator" level="OFF"/>
+  <logger name="kms-audit" additivity="false" level="INFO">
+    <appender-ref ref="kms-audit"/>
+  </logger>
+  <logger name="org.apache.hadoop" level="INFO"/>
+  <logger name="org.apache.hadoop.conf" level="INFO"/>
+  <logger name="org.apache.hadoop.crypto.key.kms.server.KMSMetricUtil" level="INFO">
+    <appender-ref ref="kms-metric"/>
+  </logger>
+  <logger name="org.apache.ranger" level="INFO"/>
+  <root level="WARN">
+    <appender-ref ref="kms"/>
+  </root>
+</configuration>
diff --git a/kms/pom.xml b/kms/pom.xml
index 908e884..8350403 100644
--- a/kms/pom.xml
+++ b/kms/pom.xml
@@ -31,6 +31,27 @@
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-kms</artifactId>
             <version>${hadoop.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>${logback.version}</version>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
@@ -125,6 +146,12 @@
             <groupId>com.googlecode.log4jdbc</groupId>
             <artifactId>log4jdbc</artifactId>
             <version>${googlecode.log4jdbc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
@@ -159,6 +186,14 @@
                     <groupId>net.minidev</groupId>
                     <artifactId>json-smart</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -176,6 +211,14 @@
                     <groupId>org.apache.commons</groupId>
                     <artifactId>commons-lang3</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
              </exclusions>
         </dependency>
         <dependency>
@@ -203,27 +246,9 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>${log4j.version}</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>${slf4j-api.version}</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>${slf4j-api.version}</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jul-to-slf4j</artifactId>
-            <version>${slf4j-api.version}</version>
+            <version>${slf4j.version}</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
@@ -326,6 +351,10 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -453,6 +482,14 @@
                     <groupId>com.github.spotbugs</groupId>
                     <artifactId>spotbugs-annotations</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/kms/scripts/ranger-kms b/kms/scripts/ranger-kms
index 92ad515..429a31e 100755
--- a/kms/scripts/ranger-kms
+++ b/kms/scripts/ranger-kms
@@ -104,7 +104,7 @@ TOMCAT_LOG_DIR=${RANGER_KMS_LOG_DIR}
 
 TOMCAT_LOG_FILE=${TOMCAT_LOG_DIR}/catalina.out
 TOMCAT_STOP_LOG_FILE=${TOMCAT_LOG_DIR}/stop_catalina.out
-KMS_LOG_PROPERTIES_FILE=${RANGER_KMS_EWS_CONF_DIR}/kms-log4j.properties
+KMS_LOG_PROPERTIES_FILE=${RANGER_KMS_EWS_CONF_DIR}/kms-logback.xml
 
 if [ ! -d ${TOMCAT_LOG_DIR} ]
 then
@@ -113,7 +113,7 @@ fi
 
 KMS_CONF_DIR=${RANGER_KMS_EWS_DIR}/webapp/WEB-INF/classes/conf
 SERVER_NAME=rangerkms
-JAVA_OPTS="${JAVA_OPTS} ${DB_SSL_PARAM} -Dmetric.type=${arg3} -Duser=${USER} -Dhostname=${HOSTNAME} -Dservername=${SERVER_NAME} -Dcatalina.base=${RANGER_KMS_EWS_DIR} -Dkms.config.dir=${KMS_CONF_DIR} -Dlog4j.configuration=file:${KMS_LOG_PROPERTIES_FILE} -Dkms.log.dir=${TOMCAT_LOG_DIR} -cp ${RANGER_KMS_EWS_CONF_DIR}:${RANGER_KMS_EWS_LIB_DIR}/*:${RANGER_KMS_EWS_DIR}/webapp/lib/*:${JAVA_HOME}/lib/*:${RANGER_HADOOP_CONF_DIR}/*:$CLASSPATH "
+JAVA_OPTS="${JAVA_OPTS} ${DB_SSL_PARAM} -Dmetric.type=${arg3} -Duser=${USER} -Dhostname=${HOSTNAME} -Dservername=${SERVER_NAME} -Dcatalina.base=${RANGER_KMS_EWS_DIR} -Dkms.config.dir=${KMS_CONF_DIR} -Dlogback.configurationFile=file:${KMS_LOG_PROPERTIES_FILE} -Dkms.log.dir=${TOMCAT_LOG_DIR} -cp ${RANGER_KMS_EWS_CONF_DIR}:${RANGER_KMS_EWS_LIB_DIR}/*:${RANGER_KMS_EWS_DIR}/webapp/lib/*:${JAVA_HOME}/lib/*:${RANGER_HADOOP_CONF_DIR}/*:$CLASSPATH "
 createRangerKMSPid () {
 	SLEEP_TIME_AFTER_START=5
 	nohup java -D${PROC_NAME} ${JAVA_OPTS} ${START_CLASS_NAME} ${KMS_CONFIG_FILENAME} > ${TOMCAT_LOG_FILE} 2>&1 &
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/AzureKeyVaultClientAuthenticator.java b/kms/src/main/java/org/apache/hadoop/crypto/key/AzureKeyVaultClientAuthenticator.java
index 1933589..f96cbb7 100644
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/AzureKeyVaultClientAuthenticator.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/AzureKeyVaultClientAuthenticator.java
@@ -41,7 +41,6 @@ import java.util.Enumeration;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
-import org.apache.log4j.Logger;
 import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
 import org.bouncycastle.cert.X509CertificateHolder;
 import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
@@ -53,9 +52,11 @@ import org.bouncycastle.operator.InputDecryptorProvider;
 import org.bouncycastle.operator.OperatorCreationException;
 import org.bouncycastle.pkcs.PKCS8EncryptedPrivateKeyInfo;
 import org.bouncycastle.pkcs.PKCSException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class AzureKeyVaultClientAuthenticator extends KeyVaultCredentials {
-	static final Logger logger = Logger.getLogger(AzureKeyVaultClientAuthenticator.class);
+	static final Logger logger = LoggerFactory.getLogger(AzureKeyVaultClientAuthenticator.class);
 	
 	private String authClientID;
     private String authClientSecret;
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerHSM.java b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerHSM.java
index d0a07b9..4e96098 100644
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerHSM.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerHSM.java
@@ -22,7 +22,8 @@ import javax.crypto.SecretKey;
 import javax.crypto.spec.SecretKeySpec;
 
 import org.apache.hadoop.conf.Configuration;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.sun.org.apache.xml.internal.security.utils.Base64;
 
@@ -39,7 +40,7 @@ import java.security.cert.CertificateException;
  */
 public class RangerHSM implements RangerKMSMKI {
 
-    static final Logger logger = Logger.getLogger(RangerHSM.class);
+    static final Logger logger = LoggerFactory.getLogger(RangerHSM.class);
 
     // Configure these as required.
     private String passwd = null;
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKMSDB.java b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKMSDB.java
index 28e5e6f..812e7df 100755
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKMSDB.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKMSDB.java
@@ -29,12 +29,13 @@ import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.log4j.Logger;
 import org.apache.ranger.kms.dao.DaoManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerKMSDB {
 	
-	static final Logger logger = Logger.getLogger(RangerKMSDB.class);
+	static final Logger logger = LoggerFactory.getLogger(RangerKMSDB.class);
 	
 	private EntityManagerFactory entityManagerFactory;
 	private DaoManager daoManager;
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java
index 12d485a..5234dc7 100644
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java
@@ -70,7 +70,6 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.crypto.key.KeyProvider.Metadata;
 import org.apache.hadoop.crypto.key.RangerKeyStoreProvider.KeyMetadata;
-import org.apache.log4j.Logger;
 import org.apache.ranger.entity.XXRangerKeyStore;
 import org.apache.ranger.kms.dao.DaoManager;
 import org.apache.ranger.kms.dao.RangerKMSDao;
@@ -78,6 +77,8 @@ import org.codehaus.jackson.JsonParseException;
 import org.codehaus.jackson.map.JsonMappingException;
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.type.TypeReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This class provides the Database store implementation.
@@ -85,7 +86,7 @@ import org.codehaus.jackson.type.TypeReference;
 
 public class RangerKeyStore extends KeyStoreSpi {
 
-    static final Logger logger = Logger.getLogger(RangerKeyStore.class);
+    static final Logger logger = LoggerFactory.getLogger(RangerKeyStore.class);
     private static final String KEY_METADATA = "KeyMetadata";
     private static final String KEY_NAME_VALIDATION = "[a-z,A-Z,0-9](?!.*--)(?!.*__)(?!.*-_)(?!.*_-)[\\w\\-\\_]*";
     private static final Pattern pattern = Pattern.compile(KEY_NAME_VALIDATION);
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStoreProvider.java b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStoreProvider.java
index bd85c0d..74c54a7 100755
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStoreProvider.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStoreProvider.java
@@ -49,12 +49,13 @@ import org.apache.ranger.plugin.util.JsonUtilsV2;
 import org.apache.hadoop.fs.Path;
 import org.apache.ranger.credentialapi.CredentialReader;
 import org.apache.ranger.kms.dao.DaoManager;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @InterfaceAudience.Private
 public class RangerKeyStoreProvider extends KeyProvider {
 
-	static final Logger logger = Logger.getLogger(RangerKeyStoreProvider.class);
+	static final Logger logger = LoggerFactory.getLogger(RangerKeyStoreProvider.class);
 
 	public static final String SCHEME_NAME = "dbks";
 	public static final String KMS_CONFIG_DIR = "kms.config.dir";
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyVaultKeyGenerator.java b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyVaultKeyGenerator.java
index d21d323..c661268 100644
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyVaultKeyGenerator.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyVaultKeyGenerator.java
@@ -29,12 +29,13 @@ import com.microsoft.azure.keyvault.webkey.JsonWebKeyType;
 import java.security.Key;
 
 import org.apache.hadoop.conf.Configuration;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.joda.time.DateTime;
 
 public class RangerKeyVaultKeyGenerator implements RangerKMSMKI {
 
-	static final Logger logger = Logger
+	static final Logger logger = LoggerFactory
 			.getLogger(RangerKeyVaultKeyGenerator.class);
 	private static final String AZURE_KEYVAULT_URL = "ranger.kms.azurekeyvault.url";
 	private static final String AZURE_MASTER_KEY_ALIAS = "ranger.kms.azure.masterkey.name";
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerMasterKey.java b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerMasterKey.java
index 582de02..c37e98e 100755
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerMasterKey.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerMasterKey.java
@@ -34,11 +34,12 @@ import javax.crypto.spec.PBEParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.log4j.Logger;
 import org.apache.ranger.kms.dao.DaoManager;
 import org.apache.ranger.kms.dao.RangerMasterKeyDao;
 import org.apache.ranger.plugin.util.XMLUtils;
 import org.apache.ranger.entity.XXRangerMasterKey;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Joiner;
 import com.google.common.base.Splitter;
@@ -47,7 +48,7 @@ import com.sun.org.apache.xml.internal.security.utils.Base64;
 
 public class RangerMasterKey implements RangerKMSMKI {
 
-    private static final Logger     logger                    = Logger.getLogger(RangerMasterKey.class);
+    private static final Logger     logger                    = LoggerFactory.getLogger(RangerMasterKey.class);
     private static final String     DEFAULT_MK_CIPHER         = "AES";
     private static final int        DEFAULT_MK_KeySize        = 256;
     private static final int        DEFAULT_SALT_SIZE         = 8;
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerSafenetKeySecure.java b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerSafenetKeySecure.java
index b9ab88f..eb8a90a 100644
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerSafenetKeySecure.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerSafenetKeySecure.java
@@ -21,7 +21,8 @@ import javax.crypto.KeyGenerator;
 import javax.crypto.SecretKey;
 import javax.crypto.spec.SecretKeySpec;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import com.sun.org.apache.xml.internal.security.utils.Base64;
 import java.io.IOException;
 import java.lang.reflect.Constructor;
@@ -38,7 +39,7 @@ import java.security.cert.CertificateException;
  */
 public class RangerSafenetKeySecure implements RangerKMSMKI {
 
-        static final Logger logger = Logger.getLogger(RangerSafenetKeySecure.class);
+        static final Logger logger = LoggerFactory.getLogger(RangerSafenetKeySecure.class);
 
         private final String alias;
         private final String providerType;
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSMetricUtil.java b/kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSMetricUtil.java
index 5def213..f1dca05 100644
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSMetricUtil.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSMetricUtil.java
@@ -22,19 +22,21 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.hadoop.crypto.key.KeyProviderCryptoExtension;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
 public class KMSMetricUtil {
-	private static final Logger logger = Logger.getLogger(KMSMetricUtil.class);
+	private static final Logger logger = LoggerFactory.getLogger(KMSMetricUtil.class);
 
 	private static final String HSM_ENABLED = "ranger.ks.hsm.enabled";
 	private static String metricType;
 	
 	public static void main(String[] args) {
+		/* LOG4J2: TODO
 		Logger.getRootLogger().setLevel(Level.OFF);
+		 */
 		logger.info("KMSMetricUtil : main()");
 		if(args.length != 2){
 			System.out.println("type: Incorrect Arguments usage : For KMSMetric Usage: metric -type  hsmenabled | encryptedkey | encryptedkeybyalgorithm");
diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java b/kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java
index c974fd6..c899bdf 100755
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java
@@ -32,7 +32,6 @@ import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.crypto.key.kms.server.KeyAuthorizationKeyProvider.KeyACLs;
 import org.apache.hadoop.util.ReflectionUtils;
 import org.apache.hadoop.util.VersionInfo;
-import org.apache.log4j.PropertyConfigurator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.bridge.SLF4JBridgeHandler;
@@ -40,16 +39,11 @@ import org.slf4j.bridge.SLF4JBridgeHandler;
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
 
-import java.io.File;
 import java.io.IOException;
 import java.net.URI;
-import java.net.URL;
 
 @InterfaceAudience.Private
 public class KMSWebApp implements ServletContextListener {
-
-  private static final String LOG4J_PROPERTIES = "kms-log4j.properties";
-
   private static final String METRICS_PREFIX = "hadoop.kms.";
   private static final String ADMIN_CALLS_METER = METRICS_PREFIX +
       "admin.calls.meter";
@@ -93,30 +87,8 @@ public class KMSWebApp implements ServletContextListener {
     SLF4JBridgeHandler.install();
   }
 
-  private void initLogging(String confDir) {
-    if (System.getProperty("log4j.configuration") == null) {
-      System.setProperty("log4j.defaultInitOverride", "true");
-      boolean fromClasspath = true;
-      File log4jConf = new File(confDir, LOG4J_PROPERTIES).getAbsoluteFile();
-      if (log4jConf.exists()) {
-        PropertyConfigurator.configureAndWatch(log4jConf.getPath(), 1000);
-        fromClasspath = false;
-      } else {
-        ClassLoader cl = Thread.currentThread().getContextClassLoader();
-        URL log4jUrl = cl.getResource(LOG4J_PROPERTIES);
-        if (log4jUrl != null) {
-          PropertyConfigurator.configure(log4jUrl);
-        }
-      }
-      LOG = LoggerFactory.getLogger(KMSWebApp.class);
-      LOG.debug("KMS log starting");
-      if (fromClasspath) {
-        LOG.warn("Log4j configuration file '{}' not found", LOG4J_PROPERTIES);
-        LOG.warn("Logging with INFO level to standard output");
-      }
-    } else {
-      LOG = LoggerFactory.getLogger(KMSWebApp.class);
-    }
+  private void initLogging() {
+    LOG = LoggerFactory.getLogger(KMSWebApp.class);
   }
 
   @Override
@@ -128,7 +100,7 @@ public class KMSWebApp implements ServletContextListener {
             KMSConfiguration.KMS_CONFIG_DIR + "' not defined");
       }
       kmsConf = KMSConfiguration.getKMSConf();
-      initLogging(confDir);
+      initLogging();
       UserGroupInformation.setConfiguration(kmsConf);
       LOG.info("-------------------------------------------------------------");
       LOG.info("  Java runtime version : {}", System.getProperty(
diff --git a/kms/src/main/java/org/apache/ranger/kms/dao/BaseDao.java b/kms/src/main/java/org/apache/ranger/kms/dao/BaseDao.java
index b32d130..fdb0be8 100644
--- a/kms/src/main/java/org/apache/ranger/kms/dao/BaseDao.java
+++ b/kms/src/main/java/org/apache/ranger/kms/dao/BaseDao.java
@@ -30,10 +30,11 @@ import javax.persistence.EntityTransaction;
 import javax.persistence.NoResultException;
 import javax.persistence.TypedQuery;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public abstract class BaseDao<T> {
-	static final Logger logger = Logger.getLogger(BaseDao.class);
+	static final Logger logger = LoggerFactory.getLogger(BaseDao.class);
 
 	protected DaoManager daoManager;
 
diff --git a/kms/src/main/java/org/apache/ranger/kms/dao/DaoManagerBase.java b/kms/src/main/java/org/apache/ranger/kms/dao/DaoManagerBase.java
index 53ad0e7..a5b4fe8 100644
--- a/kms/src/main/java/org/apache/ranger/kms/dao/DaoManagerBase.java
+++ b/kms/src/main/java/org/apache/ranger/kms/dao/DaoManagerBase.java
@@ -18,10 +18,11 @@
 package org.apache.ranger.kms.dao;
 
 import javax.persistence.EntityManager;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public abstract class DaoManagerBase {
-	final static Logger logger = Logger.getLogger(DaoManagerBase.class);
+	final static Logger logger = LoggerFactory.getLogger(DaoManagerBase.class);
 
 	abstract public EntityManager getEntityManager();
 
diff --git a/kms/src/main/resources/log4j.properties b/kms/src/main/resources/log4j.properties
deleted file mode 100644
index 5cd037a..0000000
--- a/kms/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# STDOUT Appender
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.Target=System.out
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{1} - %m%n
-
-log4j.rootLogger=WARN, stdout
-log4j.logger.org.apache.hadoop.conf=ERROR
-log4j.logger.org.apache.hadoop.crytpo.key.kms.server=ALL
-log4j.logger.com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator=OFF
-log4j.logger.org.apache.hadoop.security=OFF
-log4j.logger.org.apache.directory.server.core=OFF
-log4j.logger.org.apache.hadoop.util.NativeCodeLoader=OFF
\ No newline at end of file
diff --git a/kms/src/main/resources/logback.xml b/kms/src/main/resources/logback.xml
new file mode 100644
index 0000000..d942e01
--- /dev/null
+++ b/kms/src/main/resources/logback.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{ISO8601} %-5p %c{1} - %m%n</pattern>
+    </encoder>
+  </appender>
+  <logger name="com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator" level="OFF"/>
+  <logger name="org.apache.directory.server.core" level="OFF"/>
+  <logger name="org.apache.hadoop.security" level="OFF"/>
+  <logger name="org.apache.hadoop.conf" level="ERROR"/>
+  <logger name="org.apache.hadoop.crytpo.key.kms.server" level="ALL"/>
+  <logger name="org.apache.hadoop.util.NativeCodeLoader" level="OFF"/>
+  <root level="WARN">
+    <appender-ref ref="stdout"/>
+  </root>
+</configuration>
diff --git a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSAudit.java b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSAudit.java
index ab53938..ec0bae8 100644
--- a/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSAudit.java
+++ b/kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMSAudit.java
@@ -26,13 +26,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.crypto.key.kms.server.KMS.KMSOp;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.test.GenericTestUtils;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.PropertyConfigurator;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
+import org.junit.*;
 import org.junit.rules.Timeout;
 import org.mockito.internal.util.reflection.Whitebox;
 
@@ -66,9 +60,6 @@ public class TestKMSAudit {
     filterOut = new FilterOut(memOut);
     capturedOut = new PrintStream(filterOut);
     System.setErr(capturedOut);
-    PropertyConfigurator.configure(Thread.currentThread().
-        getContextClassLoader()
-        .getResourceAsStream("log4j-kmsaudit.properties"));
     Configuration conf = new Configuration();
     this.kmsAudit = new KMSAudit(conf);
   }
@@ -76,7 +67,6 @@ public class TestKMSAudit {
   @After
   public void cleanUp() {
     System.setErr(originalOut);
-    LogManager.resetConfiguration();
     kmsAudit.shutdown();
   }
 
diff --git a/kms/src/test/resources/logback.xml b/kms/src/test/resources/logback.xml
new file mode 100644
index 0000000..a4c2333
--- /dev/null
+++ b/kms/src/test/resources/logback.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<configuration>
+  <appender name="kms-audit" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.err</Target>
+    <encoder>
+      <pattern>%m</pattern>
+    </encoder>
+  </appender>
+  <logger name="org.apache.hadoop.crypto.key.kms.server.KMSAudit" level="OFF"/>
+  <root level="INFO">
+    <appender-ref ref="kms-audit"/>
+  </root>
+</configuration>
diff --git a/knox-agent/pom.xml b/knox-agent/pom.xml
index 2e542a6..3e1a0f4 100644
--- a/knox-agent/pom.xml
+++ b/knox-agent/pom.xml
@@ -36,6 +36,20 @@
             <groupId>org.apache.knox</groupId>
             <artifactId>gateway-spi</artifactId>
             <version>${knox.gateway.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.knox</groupId>
+                    <artifactId>gateway-util-common</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
@@ -115,6 +129,14 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
          <dependency>
@@ -152,9 +174,23 @@
                    <groupId>io.netty</groupId>
                    <artifactId>netty-transport-native-epoll</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <version>${log4j.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>net.minidev</groupId>
             <artifactId>json-smart</artifactId>
             <scope>test</scope>
@@ -165,6 +201,12 @@
             <artifactId>gateway-test-utils</artifactId>
             <scope>test</scope>
             <version>${knox.gateway.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.knox</groupId>
@@ -180,6 +222,14 @@
                     <groupId>net.minidev</groupId>
                     <artifactId>json-smart</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java b/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
index 1df0d73..624228e 100644
--- a/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
+++ b/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
@@ -44,8 +44,6 @@ import javax.ws.rs.core.NewCookie;
 import javax.ws.rs.core.Response;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.AccessControlException;
 import org.apache.hadoop.security.UserGroupInformation;
@@ -53,6 +51,8 @@ import org.apache.ranger.plugin.util.*;
 import org.apache.ranger.audit.provider.MiscUtil;
 import org.apache.ranger.authorization.utils.StringUtil;
 import org.glassfish.jersey.client.ClientProperties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -65,7 +65,7 @@ import com.sun.jersey.api.client.ClientHandlerException;
 public class RangerAdminJersey2RESTClient extends AbstractRangerAdminClient {
 
 	// none of the members are public -- this is only for testability.  None of these is meant to be accessible
-	private static final Log LOG = LogFactory.getLog(RangerAdminJersey2RESTClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerAdminJersey2RESTClient.class);
 
 	boolean _isSSL = false;
 	volatile Client _client = null;
diff --git a/knox-agent/src/main/java/org/apache/ranger/authorization/knox/RangerPDPKnoxFilter.java b/knox-agent/src/main/java/org/apache/ranger/authorization/knox/RangerPDPKnoxFilter.java
index 306011e..2f3b436 100644
--- a/knox-agent/src/main/java/org/apache/ranger/authorization/knox/RangerPDPKnoxFilter.java
+++ b/knox-agent/src/main/java/org/apache/ranger/authorization/knox/RangerPDPKnoxFilter.java
@@ -35,8 +35,6 @@ import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.knox.gateway.filter.AbstractGatewayFilter;
 import org.apache.knox.gateway.security.GroupPrincipal;
 import org.apache.knox.gateway.security.ImpersonatedPrincipal;
@@ -46,12 +44,14 @@ import org.apache.ranger.authorization.knox.KnoxRangerPlugin.RequestBuilder;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerPDPKnoxFilter implements Filter {
 
-	private static final Log LOG = LogFactory.getLog(RangerPDPKnoxFilter.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerPDPKnoxFilter.class);
 
-	private static final Log PERF_KNOXAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("knoxauth.request");
+	private static final Logger PERF_KNOXAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("knoxauth.request");
 
 	private static final String KNOX_GATEWAY_JASS_CONFIG_SECTION = "com.sun.security.jgss.initiate";
 
diff --git a/knox-agent/src/main/java/org/apache/ranger/services/knox/RangerServiceKnox.java b/knox-agent/src/main/java/org/apache/ranger/services/knox/RangerServiceKnox.java
index 5ca7fcd..eafd0e3 100644
--- a/knox-agent/src/main/java/org/apache/ranger/services/knox/RangerServiceKnox.java
+++ b/knox-agent/src/main/java/org/apache/ranger/services/knox/RangerServiceKnox.java
@@ -33,12 +33,12 @@ import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.knox.client.KnoxResourceMgr;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerServiceKnox extends RangerBaseService {
 
-	private static final Log LOG = LogFactory.getLog(RangerServiceKnox.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceKnox.class);
 	public static final String ACCESS_TYPE_ALLOW  = "allow";
 	
 	public RangerServiceKnox() {
diff --git a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
index b3c163d..3bba7e4 100644
--- a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
+++ b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
@@ -26,13 +26,13 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.util.JsonUtilsV2;
 import org.apache.ranger.plugin.util.PasswordUtils;
 import org.codehaus.jackson.JsonNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.ClientResponse;
@@ -42,7 +42,7 @@ import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
 public class KnoxClient {
 
 	private static final String EXPECTED_MIME_TYPE = "application/json";
-	private static final Log LOG = LogFactory.getLog(KnoxClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(KnoxClient.class);
 
 	private String knoxUrl;
 	private String userName;
diff --git a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxConnectionMgr.java b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxConnectionMgr.java
index 55bc238..eb02397 100644
--- a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxConnectionMgr.java
+++ b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxConnectionMgr.java
@@ -21,14 +21,15 @@ package org.apache.ranger.services.knox.client;
 
 import java.util.Map;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.model.RangerService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 
 public class KnoxConnectionMgr {
 
-	private static final Logger LOG = Logger.getLogger(KnoxConnectionMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(KnoxConnectionMgr.class);
 	
 	public KnoxClient getKnoxClientbyService(RangerService service) {
 		KnoxClient 		   knoxClient = null;
diff --git a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxResourceMgr.java b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxResourceMgr.java
index e887b11..163fede 100644
--- a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxResourceMgr.java
+++ b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxResourceMgr.java
@@ -22,13 +22,14 @@ package org.apache.ranger.services.knox.client;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class KnoxResourceMgr {
 
-	private static final Logger LOG = Logger.getLogger(KnoxResourceMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(KnoxResourceMgr.class);
 	
 	private static final String TOPOLOGY	  	 = "topology";
 	private static final String SERVICE 	 	 = "service";
diff --git a/knox-agent/src/test/resources/log4j.properties b/knox-agent/src/test/resources/log4j.properties
deleted file mode 100644
index 5c86143..0000000
--- a/knox-agent/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Define some default values that can be overridden by system properties
-ranger.root.logger=WARN,console
-# Define the root logger to the system property "hbase.root.logger".
-log4j.rootLogger=${ranger.root.logger}
-
-# Logging Threshold
-log4j.threshold=ALL
-
-#
-# console
-# Add "console" to rootlogger above if you want to use this
-#
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.target=System.err
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2}: %m%n
diff --git a/knox-agent/src/test/resources/logback.xml b/knox-agent/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/knox-agent/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/plugin-atlas/pom.xml b/plugin-atlas/pom.xml
index fe864b8..ad950f7 100644
--- a/plugin-atlas/pom.xml
+++ b/plugin-atlas/pom.xml
@@ -54,6 +54,12 @@
       		<groupId>org.apache.atlas</groupId>
       		<artifactId>atlas-authorization</artifactId>
 			<version>${atlas.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
     	</dependency>
      	<dependency>
       		<groupId>org.apache.atlas</groupId>
@@ -72,6 +78,10 @@
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-asm</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
     	</dependency>
         <dependency>
diff --git a/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java b/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
index 2fe7338..4570442 100644
--- a/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
+++ b/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
@@ -37,8 +37,6 @@ import org.apache.atlas.model.instance.AtlasEntityHeader;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.plugin.audit.RangerDefaultAuditHandler;
 import org.apache.ranger.plugin.model.RangerServiceDef;
@@ -47,6 +45,8 @@ import org.apache.ranger.plugin.policyengine.RangerAccessResourceImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.*;
 
@@ -54,8 +54,8 @@ import static org.apache.ranger.services.atlas.RangerServiceAtlas.*;
 
 
 public class RangerAtlasAuthorizer implements AtlasAuthorizer {
-    private static final Log LOG      = LogFactory.getLog(RangerAtlasAuthorizer.class);
-    private static final Log PERF_LOG = RangerPerfTracer.getPerfLogger("atlasauth.request");
+    private static final Logger LOG      = LoggerFactory.getLogger(RangerAtlasAuthorizer.class);
+    private static final Logger PERF_LOG = RangerPerfTracer.getPerfLogger("atlasauth.request");
 
     private static final  Set<AtlasPrivilege> CLASSIFICATION_PRIVILEGES = new HashSet<AtlasPrivilege>() {{
         add(AtlasPrivilege.ENTITY_ADD_CLASSIFICATION);
diff --git a/plugin-atlas/src/main/java/org/apache/ranger/services/atlas/RangerServiceAtlas.java b/plugin-atlas/src/main/java/org/apache/ranger/services/atlas/RangerServiceAtlas.java
index 4851d87..6268626 100644
--- a/plugin-atlas/src/main/java/org/apache/ranger/services/atlas/RangerServiceAtlas.java
+++ b/plugin-atlas/src/main/java/org/apache/ranger/services/atlas/RangerServiceAtlas.java
@@ -36,8 +36,6 @@ import org.apache.atlas.model.instance.AtlasEntityHeader;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOCase;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.model.RangerPolicy;
@@ -50,12 +48,14 @@ import org.apache.ranger.plugin.policyengine.RangerPolicyEngine;
 import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.util.PasswordUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import javax.security.auth.Subject;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.NewCookie;
 
 public class RangerServiceAtlas extends RangerBaseService {
-	private static final Log LOG = LogFactory.getLog(RangerServiceAtlas.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceAtlas.class);
 
 	public static final String RESOURCE_SERVICE                       = "atlas-service";
 	public static final String RESOURCE_TYPE_CATEGORY                 = "type-category";
diff --git a/plugin-atlas/src/test/resource/log4j.properties b/plugin-atlas/src/test/resource/log4j.properties
deleted file mode 100644
index f7ab2ba..0000000
--- a/plugin-atlas/src/test/resource/log4j.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-##-- To prevent junits from cluttering the build run by default all test runs send output to null appender
-log4j.appender.devnull=org.apache.log4j.varia.NullAppender
-ranger.root.logger=FATAL,devnull
-
-##-- uncomment the following line during during development/debugging so see debug messages during test run to be emitted to console
-# ranger.root.logger=DEBUG,console
-log4j.rootLogger=${ranger.root.logger}
-
-# Logging Threshold
-log4j.threshold=ALL
-
-#
-# console
-# Add "console" to rootlogger above if you want to use this
-#
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.target=System.err
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2}: %m%n
diff --git a/plugin-atlas/src/test/resource/logback.xml b/plugin-atlas/src/test/resource/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/plugin-atlas/src/test/resource/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/plugin-elasticsearch/src/main/java/org/apache/ranger/services/elasticsearch/client/ElasticsearchClient.java b/plugin-elasticsearch/src/main/java/org/apache/ranger/services/elasticsearch/client/ElasticsearchClient.java
index 598dabd..627be6e 100644
--- a/plugin-elasticsearch/src/main/java/org/apache/ranger/services/elasticsearch/client/ElasticsearchClient.java
+++ b/plugin-elasticsearch/src/main/java/org/apache/ranger/services/elasticsearch/client/ElasticsearchClient.java
@@ -36,9 +36,10 @@ import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.http.HttpStatus;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -48,7 +49,7 @@ import com.sun.jersey.api.client.ClientResponse;
 
 public class ElasticsearchClient extends BaseClient {
 
-	private static final Logger LOG = Logger.getLogger(ElasticsearchClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(ElasticsearchClient.class);
 
 	private static final String ELASTICSEARCH_INDEX_API_ENDPOINT = "/_all";
 
diff --git a/plugin-elasticsearch/src/main/java/org/apache/ranger/services/elasticsearch/client/ElasticsearchResourceMgr.java b/plugin-elasticsearch/src/main/java/org/apache/ranger/services/elasticsearch/client/ElasticsearchResourceMgr.java
index d7980aa..8ad2971 100644
--- a/plugin-elasticsearch/src/main/java/org/apache/ranger/services/elasticsearch/client/ElasticsearchResourceMgr.java
+++ b/plugin-elasticsearch/src/main/java/org/apache/ranger/services/elasticsearch/client/ElasticsearchResourceMgr.java
@@ -24,14 +24,15 @@ import java.util.Map;
 
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ElasticsearchResourceMgr {
 
 	public static final String INDEX = "index";
 
-	private static final Logger LOG = Logger.getLogger(ElasticsearchResourceMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(ElasticsearchResourceMgr.class);
 
 	public static Map<String, Object> validateConfig(String serviceName, Map<String, String> configs) throws Exception {
 		Map<String, Object> ret = null;
diff --git a/plugin-kafka/pom.xml b/plugin-kafka/pom.xml
index f6dd4de..5bb06b5 100644
--- a/plugin-kafka/pom.xml
+++ b/plugin-kafka/pom.xml
@@ -75,9 +75,23 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
+        <dependency>
     		<groupId>org.apache.httpcomponents</groupId>
     		<artifactId>httpcore</artifactId>
     		<version>${httpcomponents.httpcore.version}</version>
@@ -122,7 +136,6 @@
                 <directory>src/test/resources</directory>
                 <includes>
                     <include>**/*.xml</include>
-                    <include>log4j.properties</include>
                 </includes>
                 <filtering>true</filtering>
             </testResource>
diff --git a/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuditHandler.java b/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuditHandler.java
index ee50e95..57a888e 100644
--- a/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuditHandler.java
+++ b/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuditHandler.java
@@ -20,16 +20,16 @@
 
 package org.apache.ranger.authorization.kafka.authorizer;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.model.AuthzAuditEvent;
 import org.apache.ranger.plugin.audit.RangerDefaultAuditHandler;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerAccessResourceImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerKafkaAuditHandler extends RangerDefaultAuditHandler {
-    private static final Log LOG = LogFactory.getLog(RangerKafkaAuditHandler.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerKafkaAuditHandler.class);
 
     private AuthzAuditEvent auditEvent      = null;
 
diff --git a/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuthorizer.java b/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuthorizer.java
index 2a1b812..97a2f2e 100644
--- a/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuthorizer.java
+++ b/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuthorizer.java
@@ -32,8 +32,6 @@ import kafka.security.auth.*;
 import kafka.network.RequestChannel.Session;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.kafka.common.security.auth.KafkaPrincipal;
 import org.apache.ranger.audit.provider.MiscUtil;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequestImpl;
@@ -41,11 +39,13 @@ import org.apache.ranger.plugin.policyengine.RangerAccessResourceImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerKafkaAuthorizer implements Authorizer {
-	private static final Log logger = LogFactory
-			.getLog(RangerKafkaAuthorizer.class);
-	private static final Log PERF_KAFKAAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("kafkaauth.request");
+	private static final Logger logger = LoggerFactory
+			.getLogger(RangerKafkaAuthorizer.class);
+	private static final Logger PERF_KAFKAAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("kafkaauth.request");
 
 	public static final String KEY_TOPIC = "topic";
 	public static final String KEY_CLUSTER = "cluster";
@@ -155,7 +155,7 @@ public class RangerKafkaAuthorizer implements Authorizer {
 		if (accessType == null) {
 			if (MiscUtil.logErrorMessageByInterval(logger,
 					"Unsupported access type. operation=" + operation)) {
-				logger.fatal("Unsupported access type. session=" + session
+				logger.error("Unsupported access type. session=" + session
 						+ ", operation=" + operation + ", resource=" + resource);
 			}
 			validationFailed = true;
@@ -186,7 +186,7 @@ public class RangerKafkaAuthorizer implements Authorizer {
 		} else if (resource.resourceType().equals(DelegationToken$.MODULE$)) {
 			rangerResource.setValue(KEY_DELEGATIONTOKEN, resource.name());
 		} else {
-			logger.fatal("Unsupported resourceType=" + resource.resourceType());
+			logger.error("Unsupported resourceType=" + resource.resourceType());
 			validationFailed = true;
 		}
 
diff --git a/plugin-kafka/src/main/java/org/apache/ranger/services/kafka/RangerServiceKafka.java b/plugin-kafka/src/main/java/org/apache/ranger/services/kafka/RangerServiceKafka.java
index 836acd9..f683e60 100644
--- a/plugin-kafka/src/main/java/org/apache/ranger/services/kafka/RangerServiceKafka.java
+++ b/plugin-kafka/src/main/java/org/apache/ranger/services/kafka/RangerServiceKafka.java
@@ -34,13 +34,13 @@ import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.kafka.client.ServiceKafkaClient;
 import org.apache.ranger.services.kafka.client.ServiceKafkaConnectionMgr;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static org.apache.ranger.plugin.policyengine.RangerPolicyEngine.GROUP_PUBLIC;
 
 public class RangerServiceKafka extends RangerBaseService {
-	private static final Log LOG = LogFactory.getLog(RangerServiceKafka.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceKafka.class);
 	public static final String ACCESS_TYPE_DESCRIBE = "describe";
 
 	public RangerServiceKafka() {
diff --git a/plugin-kafka/src/main/java/org/apache/ranger/services/kafka/client/ServiceKafkaClient.java b/plugin-kafka/src/main/java/org/apache/ranger/services/kafka/client/ServiceKafkaClient.java
index 1144081..82e8695 100644
--- a/plugin-kafka/src/main/java/org/apache/ranger/services/kafka/client/ServiceKafkaClient.java
+++ b/plugin-kafka/src/main/java/org/apache/ranger/services/kafka/client/ServiceKafkaClient.java
@@ -33,13 +33,14 @@ import org.apache.kafka.clients.admin.AdminClient;
 import org.apache.kafka.clients.admin.KafkaAdminClient;
 import org.apache.kafka.clients.admin.TopicListing;
 import org.apache.kafka.clients.admin.ListTopicsResult;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ServiceKafkaClient {
-	private static final Logger LOG = Logger.getLogger(ServiceKafkaClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(ServiceKafkaClient.class);
 
 	enum RESOURCE_TYPE {
 		TOPIC
diff --git a/plugin-kafka/src/test/resources/log4j.properties b/plugin-kafka/src/test/resources/log4j.properties
deleted file mode 100644
index 4ad14de..0000000
--- a/plugin-kafka/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# Root logger option
-log4j.rootLogger=INFO, stdout
-log4j.logger.kafka=WARN
-log4j.logger.org.apache.zookeeper=WARN
-
-# Direct log messages to stdout
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.Target=System.out
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{10}:%L - %m%n
diff --git a/plugin-kafka/src/test/resources/logback.xml b/plugin-kafka/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/plugin-kafka/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/plugin-kms/src/main/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizer.java b/plugin-kms/src/main/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizer.java
index da4006a..799eb32 100755
--- a/plugin-kms/src/main/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizer.java
+++ b/plugin-kms/src/main/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizer.java
@@ -28,7 +28,6 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.logging.Log;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.crypto.key.kms.server.KMSACLsType;
 import org.apache.hadoop.crypto.key.kms.server.KMSConfiguration;
@@ -56,7 +55,7 @@ import com.google.common.collect.Sets;
 
 public class RangerKmsAuthorizer implements Runnable, KeyACLs {
 	  private static final Logger LOG = LoggerFactory.getLogger(RangerKmsAuthorizer.class);
-	private static final Log PERF_KMSAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("kmsauth.request");
+	private static final Logger PERF_KMSAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("kmsauth.request");
 
 	  private static final String KMS_USER_PRINCIPAL = "ranger.ks.kerberos.principal";
 	  private static final String KMS_USER_KEYTAB = "ranger.ks.kerberos.keytab";
diff --git a/plugin-kms/src/main/java/org/apache/ranger/services/kms/RangerServiceKMS.java b/plugin-kms/src/main/java/org/apache/ranger/services/kms/RangerServiceKMS.java
index eb48318..d0c2e26 100644
--- a/plugin-kms/src/main/java/org/apache/ranger/services/kms/RangerServiceKMS.java
+++ b/plugin-kms/src/main/java/org/apache/ranger/services/kms/RangerServiceKMS.java
@@ -32,12 +32,12 @@ import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.kms.client.KMSResourceMgr;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerServiceKMS extends RangerBaseService {
 
-	private static final Log LOG = LogFactory.getLog(RangerServiceKMS.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceKMS.class);
 
 	public static final String ACCESS_TYPE_DECRYPT_EEK    = "decrypteek";
 	public static final String ACCESS_TYPE_GENERATE_EEK   = "generateeek";
diff --git a/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSClient.java b/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSClient.java
index 4a958d4..14e9c3b 100755
--- a/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSClient.java
+++ b/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSClient.java
@@ -37,10 +37,11 @@ import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.security.HadoopKerberosName;
 import org.apache.hadoop.security.ProviderUtils;
 import org.apache.hadoop.security.SecureClientLogin;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.util.PasswordUtils;
 import org.apache.ranger.plugin.client.HadoopException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Strings;
 import com.google.gson.Gson;
@@ -53,7 +54,7 @@ import com.sun.jersey.api.client.config.DefaultClientConfig;
 
 public class KMSClient {
 
-	private static final Logger LOG = Logger.getLogger(KMSClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(KMSClient.class);
 
 	private static final String EXPECTED_MIME_TYPE = "application/json";
 
diff --git a/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSConnectionMgr.java b/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSConnectionMgr.java
index b81d7b8..33e522a 100755
--- a/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSConnectionMgr.java
+++ b/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSConnectionMgr.java
@@ -20,12 +20,13 @@
 package org.apache.ranger.services.kms.client;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class KMSConnectionMgr {
 
-	private static final Logger LOG = Logger.getLogger(KMSConnectionMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(KMSConnectionMgr.class);
 
 	public static KMSClient getKMSClient(final String kmsURL, String userName, String password, String rangerPrincipal, String rangerKeytab, String nameRules, String authType) {
 		KMSClient kmsClient = null;
diff --git a/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSResourceMgr.java b/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSResourceMgr.java
index fe54723..b15ae14 100755
--- a/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSResourceMgr.java
+++ b/plugin-kms/src/main/java/org/apache/ranger/services/kms/client/KMSResourceMgr.java
@@ -22,11 +22,12 @@ package org.apache.ranger.services.kms.client;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class KMSResourceMgr {
-	private static final 	Logger 	LOG 		= Logger.getLogger(KMSResourceMgr.class);
+	private static final 	Logger 	LOG 		= LoggerFactory.getLogger(KMSResourceMgr.class);
 	private static final 	String  KMSKEY	= "keyname";
 	
 	public static Map<String, Object> validateConfig(String serviceName, Map<String, String> configs) throws Exception {
diff --git a/plugin-kms/src/test/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizerTest.java b/plugin-kms/src/test/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizerTest.java
index d8ea539..4baec7b 100644
--- a/plugin-kms/src/test/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizerTest.java
+++ b/plugin-kms/src/test/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizerTest.java
@@ -32,7 +32,6 @@ import org.apache.hadoop.crypto.key.kms.server.KMSConfiguration;
 import org.apache.hadoop.crypto.key.kms.server.KMSWebApp;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.security.authorize.AuthorizationException;
-import org.apache.log4j.Logger;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -40,6 +39,8 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
 import org.mockito.runners.MockitoJUnitRunner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Policies available from admin via:
@@ -51,7 +52,7 @@ import org.mockito.runners.MockitoJUnitRunner;
 @RunWith(MockitoJUnitRunner.class)
 public class RangerKmsAuthorizerTest {
 
-    private static final Logger LOG = Logger.getLogger(RangerKmsAuthorizerTest.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerKmsAuthorizerTest.class);
 
     private static KMSWebApp kmsWebapp;
     private static final boolean UNRESTRICTED_POLICIES_INSTALLED;
@@ -127,7 +128,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.CREATE, ugi2, KMSOp.CREATE_KEY, "newkey2", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -142,7 +143,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.CREATE, ugi3, KMSOp.CREATE_KEY, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -174,7 +175,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.DELETE, ugi2, KMSOp.DELETE_KEY, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -189,7 +190,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.DELETE, ugi3, KMSOp.DELETE_KEY, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -222,7 +223,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.ROLLOVER, ugi2, KMSOp.ROLL_NEW_VERSION, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -237,7 +238,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.ROLLOVER, ugi3, KMSOp.ROLL_NEW_VERSION, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -270,7 +271,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.GET_KEYS, ugi2, KMSOp.GET_KEYS, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -312,7 +313,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.GET_METADATA, ugi2, KMSOp.GET_METADATA, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -355,7 +356,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.GENERATE_EEK, ugi2, KMSOp.GENERATE_EEK, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -370,7 +371,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.GENERATE_EEK, ugi3, KMSOp.GENERATE_EEK, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -403,7 +404,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.DECRYPT_EEK, ugi2, KMSOp.DECRYPT_EEK, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
@@ -418,7 +419,7 @@ public class RangerKmsAuthorizerTest {
                     KMSWebApp.getACLs().assertAccess(Type.DECRYPT_EEK, ugi3, KMSOp.DECRYPT_EEK, "newkey1", "127.0.0.1");
                     Assert.fail("Failure expected");
                 } catch (AuthorizationException ex) {
-                    LOG.error(ex);
+                    LOG.error("", ex);
                 }
                 return null;
             }
diff --git a/plugin-kms/src/test/resources/kms/kms-log4j.properties b/plugin-kms/src/test/resources/kms/kms-log4j.properties
deleted file mode 100755
index 2ebfe2e..0000000
--- a/plugin-kms/src/test/resources/kms/kms-log4j.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License. See accompanying LICENSE file.
-#
-
-# If the Java System property 'kms.log.dir' is not defined at KMS start up time
-# Setup sets its value to '${kms.home}/logs'
-
-log4j.appender.kms=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.kms.DatePattern='.'yyyy-MM-dd
-log4j.appender.kms.File=${kms.log.dir}/ranger-kms-${hostname}-${user}.log
-log4j.appender.kms.Append=true
-log4j.appender.kms.layout=org.apache.log4j.PatternLayout
-log4j.appender.kms.layout.ConversionPattern=%d{ISO8601} %-5p %c{1} - %m%n
-
-log4j.appender.kms-audit=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.kms-audit.DatePattern='.'yyyy-MM-dd
-log4j.appender.kms-audit.File=${kms.log.dir}/kms-audit-${hostname}-${user}.log
-log4j.appender.kms-audit.Append=true
-log4j.appender.kms-audit.layout=org.apache.log4j.PatternLayout
-log4j.appender.kms-audit.layout.ConversionPattern=%d{ISO8601} %m%n
-
-log4j.logger.kms-audit=INFO, kms-audit
-log4j.additivity.kms-audit=false
-
-log4j.logger=INFO, kms
-log4j.rootLogger=WARN, kms
-log4j.logger.org.apache.hadoop.conf=INFO
-log4j.logger.org.apache.hadoop=INFO
-log4j.logger.org.apache.ranger=INFO
-log4j.logger.com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator=OFF
\ No newline at end of file
diff --git a/plugin-kms/src/test/resources/kms/logback.xml b/plugin-kms/src/test/resources/kms/logback.xml
new file mode 100644
index 0000000..fed8dd3
--- /dev/null
+++ b/plugin-kms/src/test/resources/kms/logback.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="kms-audit" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
+    <!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
+    <!--for further documentation-->
+    <Append>true</Append>
+    <File>${kms.log.dir}/kms-audit-${hostname}-${user}.log</File>
+    <encoder>
+      <pattern>%d{ISO8601} %m%n</pattern>
+    </encoder>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${kms.log.dir}/kms-audit-${hostname}-${user}.log.%d{'.'yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+  </appender>
+  <appender name="kms" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
+    <!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
+    <!--for further documentation-->
+    <File>${kms.log.dir}/ranger-kms-${hostname}-${user}.log</File>
+    <Append>true</Append>
+    <encoder>
+      <pattern>%d{ISO8601} %-5p %c{1} - %m%n</pattern>
+    </encoder>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${kms.log.dir}/ranger-kms-${hostname}-${user}.log.%d{'.'yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+  </appender>
+  <logger name="com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator" level="OFF"/>
+  <logger name="kms-audit" additivity="false" level="INFO">
+    <appender-ref ref="kms-audit"/>
+  </logger>
+  <logger name="org.apache.hadoop" level="INFO"/>
+  <logger name="org.apache.hadoop.conf" level="INFO"/>
+  <logger name="org.apache.ranger" level="INFO"/>
+  <root level="WARN">
+    <appender-ref ref="kms"/>
+  </root>
+</configuration>
diff --git a/plugin-kylin/pom.xml b/plugin-kylin/pom.xml
index 570df4a..563e53a 100644
--- a/plugin-kylin/pom.xml
+++ b/plugin-kylin/pom.xml
@@ -65,6 +65,10 @@
                     <groupId>org.apache.calcite</groupId>
                     <artifactId>calcite-core</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -119,6 +123,10 @@
                    <groupId>io.netty</groupId>
                    <artifactId>netty-common</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
diff --git a/plugin-kylin/src/main/java/org/apache/ranger/authorization/kylin/authorizer/RangerKylinAuthorizer.java b/plugin-kylin/src/main/java/org/apache/ranger/authorization/kylin/authorizer/RangerKylinAuthorizer.java
index e084990..bcfaaaf 100644
--- a/plugin-kylin/src/main/java/org/apache/ranger/authorization/kylin/authorizer/RangerKylinAuthorizer.java
+++ b/plugin-kylin/src/main/java/org/apache/ranger/authorization/kylin/authorizer/RangerKylinAuthorizer.java
@@ -23,8 +23,6 @@ import java.util.Date;
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.metadata.project.ProjectInstance;
@@ -38,12 +36,14 @@ import org.apache.ranger.plugin.policyengine.RangerAccessResourceImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.apache.ranger.services.kylin.client.KylinResourceMgr;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.security.acls.model.Permission;
 
 import com.google.common.collect.Sets;
 
 public class RangerKylinAuthorizer extends ExternalAclProvider {
-	private static final Log LOG = LogFactory.getLog(RangerKylinAuthorizer.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerKylinAuthorizer.class);
 
 	private static volatile RangerKylinPlugin kylinPlugin = null;
 
diff --git a/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/RangerServiceKylin.java b/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/RangerServiceKylin.java
index 7dc7d74..f5cd911 100644
--- a/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/RangerServiceKylin.java
+++ b/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/RangerServiceKylin.java
@@ -22,17 +22,17 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerService;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.kylin.client.KylinResourceMgr;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerServiceKylin extends RangerBaseService {
 
-	private static final Log LOG = LogFactory.getLog(RangerServiceKylin.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceKylin.class);
 
 	public RangerServiceKylin() {
 		super();
diff --git a/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/client/KylinClient.java b/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/client/KylinClient.java
index 17e0ecb..82fe6ec 100644
--- a/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/client/KylinClient.java
+++ b/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/client/KylinClient.java
@@ -33,11 +33,12 @@ import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.http.HttpStatus;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.util.PasswordUtils;
 import org.apache.ranger.services.kylin.client.json.model.KylinProjectResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -49,7 +50,7 @@ import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
 
 public class KylinClient extends BaseClient {
 
-	private static final Logger LOG = Logger.getLogger(KylinClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(KylinClient.class);
 
 	private static final String EXPECTED_MIME_TYPE = "application/json";
 
diff --git a/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/client/KylinResourceMgr.java b/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/client/KylinResourceMgr.java
index ae96a20..5d5b5df 100644
--- a/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/client/KylinResourceMgr.java
+++ b/plugin-kylin/src/main/java/org/apache/ranger/services/kylin/client/KylinResourceMgr.java
@@ -24,14 +24,15 @@ import java.util.Map;
 
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class KylinResourceMgr {
 
 	public static final String PROJECT = "project";
 
-	private static final Logger LOG = Logger.getLogger(KylinResourceMgr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(KylinResourceMgr.class);
 
 	public static Map<String, Object> validateConfig(String serviceName, Map<String, String> configs) throws Exception {
 		Map<String, Object> ret = null;
diff --git a/plugin-kylin/src/test/resources/log4j.properties b/plugin-kylin/src/test/resources/log4j.properties
deleted file mode 100644
index f7ab2ba..0000000
--- a/plugin-kylin/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-##-- To prevent junits from cluttering the build run by default all test runs send output to null appender
-log4j.appender.devnull=org.apache.log4j.varia.NullAppender
-ranger.root.logger=FATAL,devnull
-
-##-- uncomment the following line during during development/debugging so see debug messages during test run to be emitted to console
-# ranger.root.logger=DEBUG,console
-log4j.rootLogger=${ranger.root.logger}
-
-# Logging Threshold
-log4j.threshold=ALL
-
-#
-# console
-# Add "console" to rootlogger above if you want to use this
-#
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.target=System.err
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2}: %m%n
diff --git a/plugin-kylin/src/test/resources/logback.xml b/plugin-kylin/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/plugin-kylin/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/RangerServiceNiFiRegistry.java b/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/RangerServiceNiFiRegistry.java
index 8327c59..bbf0593 100644
--- a/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/RangerServiceNiFiRegistry.java
+++ b/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/RangerServiceNiFiRegistry.java
@@ -18,12 +18,12 @@
  */
 package org.apache.ranger.services.nifi.registry;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.nifi.registry.client.NiFiRegistryClient;
 import org.apache.ranger.services.nifi.registry.client.NiFiRegistryConnectionMgr;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import java.util.HashMap;
 import java.util.List;
 
@@ -32,7 +32,7 @@ import java.util.List;
  */
 public class RangerServiceNiFiRegistry extends RangerBaseService {
 
-    private static final Log LOG = LogFactory.getLog(RangerServiceNiFiRegistry.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerServiceNiFiRegistry.class);
 
     @Override
     public HashMap<String, Object> validateConfig() throws Exception {
diff --git a/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryClient.java b/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryClient.java
index 7eff5f3..a1cd49d 100644
--- a/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryClient.java
+++ b/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryClient.java
@@ -26,12 +26,12 @@ import com.sun.jersey.api.client.config.DefaultClientConfig;
 import com.sun.jersey.client.urlconnection.HTTPSProperties;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.codehaus.jackson.JsonNode;
 import org.codehaus.jackson.map.ObjectMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLContext;
@@ -51,7 +51,7 @@ import java.util.List;
  */
 public class NiFiRegistryClient {
 
-    private static final Log LOG = LogFactory.getLog(NiFiRegistryClient.class);
+    private static final Logger LOG = LoggerFactory.getLogger(NiFiRegistryClient.class);
 
     static final String SUCCESS_MSG = "ConnectionTest Successful";
     static final String FAILURE_MSG = "Unable to retrieve any resources using given parameters. ";
diff --git a/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryConnectionMgr.java b/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryConnectionMgr.java
index 412fcdd..e4851c5 100644
--- a/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryConnectionMgr.java
+++ b/plugin-nifi-registry/src/main/java/org/apache/ranger/services/nifi/registry/client/NiFiRegistryConnectionMgr.java
@@ -20,9 +20,9 @@ package org.apache.ranger.services.nifi.registry.client;
 
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.BaseClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLContext;
@@ -47,7 +47,7 @@ import java.util.Map;
  */
 public class NiFiRegistryConnectionMgr {
 
-    private static final Log LOG = LogFactory.getLog(NiFiRegistryConnectionMgr.class);
+    private static final Logger LOG = LoggerFactory.getLogger(NiFiRegistryConnectionMgr.class);
 
     private static final String API_RESOURCES_PATH = "/nifi-registry-api/policies/resources";
     static final String INVALID_URL_MSG =  "NiFi Registry URL must be a valid URL of the form " +
diff --git a/plugin-nifi-registry/src/test/resources/logback.xml b/plugin-nifi-registry/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/plugin-nifi-registry/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/RangerServiceNiFi.java b/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/RangerServiceNiFi.java
index 08262ea..f9c9947 100644
--- a/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/RangerServiceNiFi.java
+++ b/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/RangerServiceNiFi.java
@@ -18,12 +18,12 @@
  */
 package org.apache.ranger.services.nifi;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.nifi.client.NiFiClient;
 import org.apache.ranger.services.nifi.client.NiFiConnectionMgr;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import java.util.HashMap;
 import java.util.List;
 
@@ -32,7 +32,7 @@ import java.util.List;
  */
 public class RangerServiceNiFi extends RangerBaseService {
 
-    private static final Log LOG = LogFactory.getLog(RangerServiceNiFi.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerServiceNiFi.class);
 
     @Override
     public HashMap<String, Object> validateConfig() throws Exception {
diff --git a/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiClient.java b/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiClient.java
index 800a2b2..95f725a 100644
--- a/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiClient.java
+++ b/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiClient.java
@@ -26,12 +26,12 @@ import com.sun.jersey.api.client.config.DefaultClientConfig;
 import com.sun.jersey.client.urlconnection.HTTPSProperties;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.codehaus.jackson.JsonNode;
 import org.codehaus.jackson.map.ObjectMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLContext;
@@ -51,7 +51,7 @@ import java.util.List;
  */
 public class NiFiClient {
 
-    private static final Log LOG = LogFactory.getLog(NiFiClient.class);
+    private static final Logger LOG = LoggerFactory.getLogger(NiFiClient.class);
 
     static final String SUCCESS_MSG = "ConnectionTest Successful";
     static final String FAILURE_MSG = "Unable to retrieve any resources using given parameters. ";
diff --git a/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiConnectionMgr.java b/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiConnectionMgr.java
index 21fae0d..34392fc 100644
--- a/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiConnectionMgr.java
+++ b/plugin-nifi/src/main/java/org/apache/ranger/services/nifi/client/NiFiConnectionMgr.java
@@ -20,9 +20,9 @@ package org.apache.ranger.services.nifi.client;
 
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.BaseClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLContext;
@@ -47,7 +47,7 @@ import java.util.Map;
  */
 public class NiFiConnectionMgr {
 
-    private static final Log LOG = LogFactory.getLog(NiFiConnectionMgr.class);
+    private static final Logger LOG = LoggerFactory.getLogger(NiFiConnectionMgr.class);
 
     static final String INVALID_URL_MSG =  "NiFi URL must be a valid URL of the form " +
             "http(s)://<hostname>(:<port>)/nifi-api/resources";
diff --git a/plugin-nifi/src/test/resources/logback.xml b/plugin-nifi/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/plugin-nifi/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/plugin-ozone/pom.xml b/plugin-ozone/pom.xml
index 803edfd..b787218 100644
--- a/plugin-ozone/pom.xml
+++ b/plugin-ozone/pom.xml
@@ -68,6 +68,14 @@ limitations under the License.
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
@@ -101,5 +109,11 @@ limitations under the License.
             <artifactId>jackson-mapper-asl</artifactId>
             <version>${codehaus.jackson.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/plugin-ozone/src/main/java/org/apache/ranger/authorization/ozone/authorizer/RangerOzoneAuthorizer.java b/plugin-ozone/src/main/java/org/apache/ranger/authorization/ozone/authorizer/RangerOzoneAuthorizer.java
index 5246af1..12e647c 100644
--- a/plugin-ozone/src/main/java/org/apache/ranger/authorization/ozone/authorizer/RangerOzoneAuthorizer.java
+++ b/plugin-ozone/src/main/java/org/apache/ranger/authorization/ozone/authorizer/RangerOzoneAuthorizer.java
@@ -21,8 +21,6 @@
 package org.apache.ranger.authorization.ozone.authorizer;
 
 import com.google.common.collect.Sets;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer;
 import org.apache.hadoop.ozone.security.acl.IOzoneObj;
 import org.apache.hadoop.ozone.security.acl.OzoneObj;
@@ -35,6 +33,8 @@ import org.apache.ranger.plugin.policyengine.RangerAccessResourceImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Date;
 
@@ -52,9 +52,9 @@ public class RangerOzoneAuthorizer implements IAccessAuthorizer {
 	public static final String KEY_RESOURCE_BUCKET = "bucket";
 	public static final String KEY_RESOURCE_KEY = "key";
 
-	private static final Log PERF_OZONEAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("ozoneauth.request");
+	private static final Logger PERF_OZONEAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("ozoneauth.request");
 
-    private static final Log LOG = LogFactory.getLog(RangerOzoneAuthorizer.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerOzoneAuthorizer.class);
 
 	private static volatile RangerBasePlugin rangerPlugin = null;
 	RangerDefaultAuditHandler auditHandler = null;
@@ -111,7 +111,7 @@ public class RangerOzoneAuthorizer implements IAccessAuthorizer {
 		if (accessType == null) {
 			MiscUtil.logErrorMessageByInterval(LOG,
 					"Unsupported access type. operation=" + operation) ;
-			LOG.fatal("Unsupported access type. operation=" + operation + ", resource=" + resource);
+			LOG.error("Unsupported access type. operation=" + operation + ", resource=" + resource);
 			return returnValue;
 		}
 		String action = accessType;
@@ -144,7 +144,7 @@ public class RangerOzoneAuthorizer implements IAccessAuthorizer {
 				rangerResource.setValue(KEY_RESOURCE_KEY, ozoneObj.getKeyName());
 			}
 		} else {
-			LOG.fatal("Unsupported resource = " + resource);
+			LOG.error("Unsupported resource = " + resource);
 			MiscUtil.logErrorMessageByInterval(LOG, "Unsupported resource type " + ozoneObj.getResourceType() + " for resource = " + resource
 					+ ", request=" + rangerRequest);
 			return returnValue;
diff --git a/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/RangerServiceOzone.java b/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/RangerServiceOzone.java
index bcc3b74..7044122 100644
--- a/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/RangerServiceOzone.java
+++ b/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/RangerServiceOzone.java
@@ -20,8 +20,6 @@
 package org.apache.ranger.services.ozone;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerService;
@@ -32,6 +30,8 @@ import org.apache.ranger.plugin.policyengine.RangerPolicyEngine;
 import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.ozone.client.OzoneResourceMgr;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -41,7 +41,7 @@ import java.util.Map;
 
 public class RangerServiceOzone extends RangerBaseService {
 
-    private static final Log LOG = LogFactory.getLog(RangerServiceOzone.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerServiceOzone.class);
     public static final String ACCESS_TYPE_READ  = "read";
     public static final String ACCESS_TYPE_WRITE  = "write";
     public static final String ACCESS_TYPE_CREATE  = "create";
diff --git a/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneClient.java b/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneClient.java
index 4ece63d..0bf2cd6 100644
--- a/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneClient.java
+++ b/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneClient.java
@@ -19,14 +19,14 @@
 
 package org.apache.ranger.services.ozone.client;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.apache.hadoop.ozone.client.OzoneBucket;
 import org.apache.hadoop.ozone.client.OzoneClientFactory;
 import org.apache.hadoop.ozone.client.OzoneKey;
 import org.apache.hadoop.ozone.client.OzoneVolume;
 import org.apache.ranger.plugin.client.BaseClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.security.auth.Subject;
 import java.io.IOException;
@@ -35,7 +35,7 @@ import java.util.*;
 
 public class OzoneClient extends BaseClient {
 
-    private static final Log LOG        = LogFactory.getLog(OzoneClient.class);
+    private static final Logger LOG     = LoggerFactory.getLogger(OzoneClient.class);
     private static final String ERR_MSG = "You can still save the repository and start creating policies, but you " +
             "would not be able to use autocomplete for resource names. Check ranger_admin.log for more info.";
 
diff --git a/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneConnectionMgr.java b/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneConnectionMgr.java
index 0a04035..54dbc7f 100644
--- a/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneConnectionMgr.java
+++ b/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneConnectionMgr.java
@@ -19,8 +19,9 @@
 
 package org.apache.ranger.services.ozone.client;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Map;
 import java.util.concurrent.Callable;
@@ -29,7 +30,7 @@ import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.TimeUnit;
 
 public class OzoneConnectionMgr {
-    private static final Logger LOG = Logger.getLogger(OzoneConnectionMgr.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OzoneConnectionMgr.class);
 
     protected ConcurrentMap<String, OzoneClient>    ozoneConnectionCache;
     protected ConcurrentMap<String, Boolean>        repoConnectStatusMap;
diff --git a/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneResourceMgr.java b/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneResourceMgr.java
index 0b999ab..fa84312 100644
--- a/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneResourceMgr.java
+++ b/plugin-ozone/src/main/java/org/apache/ranger/services/ozone/client/OzoneResourceMgr.java
@@ -19,10 +19,11 @@
 
 package org.apache.ranger.services.ozone.client;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.List;
 import java.util.Map;
@@ -31,7 +32,7 @@ import java.util.concurrent.TimeUnit;
 
 public class OzoneResourceMgr {
 
-    private static final Logger LOG = Logger.getLogger(OzoneResourceMgr.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OzoneResourceMgr.class);
 
     private static final String VOLUME     = "volume";
     private static final String BUCKET     = "bucket";
diff --git a/plugin-presto/pom.xml b/plugin-presto/pom.xml
index 060a1c3..9c8c4ad 100644
--- a/plugin-presto/pom.xml
+++ b/plugin-presto/pom.xml
@@ -56,9 +56,23 @@
                     <groupId>io.netty</groupId>
                     <artifactId>netty</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.ranger</groupId>
             <artifactId>ranger-plugins-common</artifactId>
             <version>${project.version}</version>
diff --git a/plugin-presto/src/main/java/org/apache/ranger/services/presto/RangerServicePresto.java b/plugin-presto/src/main/java/org/apache/ranger/services/presto/RangerServicePresto.java
index 164b8f9..9e773f1 100644
--- a/plugin-presto/src/main/java/org/apache/ranger/services/presto/RangerServicePresto.java
+++ b/plugin-presto/src/main/java/org/apache/ranger/services/presto/RangerServicePresto.java
@@ -19,8 +19,6 @@
 package org.apache.ranger.services.presto;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.HadoopConfigHolder;
 import org.apache.ranger.plugin.client.HadoopException;
 import org.apache.ranger.plugin.model.RangerPolicy;
@@ -29,6 +27,8 @@ import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemAccess;
 import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.presto.client.PrestoResourceManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -37,7 +37,7 @@ import java.util.List;
 import java.util.Map;
 
 public class RangerServicePresto extends RangerBaseService {
-  private static final Log LOG = LogFactory.getLog(RangerServicePresto.class);
+  private static final Logger LOG = LoggerFactory.getLogger(RangerServicePresto.class);
 
   public static final String ACCESS_TYPE_SELECT  = "select";
 
diff --git a/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoClient.java b/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoClient.java
index 3529793..87d35af 100644
--- a/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoClient.java
+++ b/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoClient.java
@@ -20,11 +20,11 @@ package org.apache.ranger.services.presto.client;
 
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopConfigHolder;
 import org.apache.ranger.plugin.client.HadoopException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.security.auth.Subject;
 import java.io.Closeable;
@@ -46,7 +46,7 @@ public class PrestoClient extends BaseClient implements Closeable {
   public static final String PRESTO_USER_NAME_PROP = "user";
   public static final String PRESTO_PASSWORD_PROP = "password";
 
-  private static final Log LOG = LogFactory.getLog(PrestoClient.class);
+  private static final Logger LOG = LoggerFactory.getLogger(PrestoClient.class);
 
   private static final String ERR_MSG = "You can still save the repository and start creating "
     + "policies, but you would not be able to use autocomplete for "
diff --git a/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoConnectionManager.java b/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoConnectionManager.java
index 4a642ea..f67d804 100644
--- a/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoConnectionManager.java
+++ b/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoConnectionManager.java
@@ -18,8 +18,9 @@
  */
 package org.apache.ranger.services.presto.client;
 
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Map;
 import java.util.concurrent.Callable;
@@ -28,7 +29,7 @@ import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.TimeUnit;
 
 public class PrestoConnectionManager {
-  private static final Logger LOG = Logger.getLogger(PrestoConnectionManager.class);
+  private static final Logger LOG = LoggerFactory.getLogger(PrestoConnectionManager.class);
 
   protected ConcurrentMap<String, PrestoClient> prestoConnectionCache;
   protected ConcurrentMap<String, Boolean> repoConnectStatusMap;
diff --git a/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoResourceManager.java b/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoResourceManager.java
index c9f3826..7fcd920 100644
--- a/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoResourceManager.java
+++ b/plugin-presto/src/main/java/org/apache/ranger/services/presto/client/PrestoResourceManager.java
@@ -18,10 +18,10 @@
  */
 package org.apache.ranger.services.presto.client;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.List;
 import java.util.Map;
@@ -29,7 +29,7 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 
 public class PrestoResourceManager {
-  private static final Log LOG = LogFactory.getLog(PrestoResourceManager.class);
+  private static final Logger LOG = LoggerFactory.getLogger(PrestoResourceManager.class);
 
   private static final String  CATALOG 	  = "catalog";
   private static final String  SCHEMA     = "schema";
diff --git a/plugin-presto/src/test/resources/log4j.properties b/plugin-presto/src/test/resources/log4j.properties
deleted file mode 100644
index fd5ca2a..0000000
--- a/plugin-presto/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# Root logger option
-log4j.rootLogger=INFO, stdout
-
-# Direct log messages to stdout
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.Target=System.out
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{10}:%L - %m%n
diff --git a/plugin-presto/src/test/resources/logback.xml b/plugin-presto/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/plugin-presto/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/plugin-schema-registry/pom.xml b/plugin-schema-registry/pom.xml
index 697010f..b89b5d8 100644
--- a/plugin-schema-registry/pom.xml
+++ b/plugin-schema-registry/pom.xml
@@ -48,7 +48,7 @@
                 <exclusions>
                     <exclusion>
                         <groupId>log4j</groupId>
-                        <artifactId>log4j</artifactId>
+                        <artifactId>*</artifactId>
                     </exclusion>
                     <exclusion>
                         <groupId>com.sun.jersey</groupId>
@@ -60,7 +60,7 @@
                     </exclusion>
                     <exclusion>
                         <groupId>org.slf4j</groupId>
-                        <artifactId>slf4j-log4j12</artifactId>
+                        <artifactId>*</artifactId>
                     </exclusion>
                 </exclusions>
             </dependency>
@@ -71,7 +71,11 @@
                 <exclusions>
                     <exclusion>
                         <groupId>log4j</groupId>
-                        <artifactId>log4j</artifactId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.slf4j</groupId>
+                        <artifactId>*</artifactId>
                     </exclusion>
                     <exclusion>
                         <groupId>com.sun.jersey</groupId>
@@ -82,14 +86,6 @@
                         <artifactId>servlet-api</artifactId>
                     </exclusion>
                     <exclusion>
-                        <groupId>log4j</groupId>
-                        <artifactId>log4j</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.slf4j</groupId>
-                        <artifactId>slf4j-log4j12</artifactId>
-                    </exclusion>
-                    <exclusion>
                         <groupId>com.sun.jersey</groupId>
                         <artifactId>jersey-client</artifactId>
                     </exclusion>
@@ -119,6 +115,12 @@
                     </exclusion>
                 </exclusions>
             </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
             <dependency>
                 <groupId>org.apache.kafka</groupId>
                 <artifactId>kafka_${scala.binary.version}</artifactId>
@@ -130,8 +132,12 @@
                     </exclusion>
                     <exclusion>
                         <groupId>log4j</groupId>
-                        <artifactId>log4j</artifactId>
+                        <artifactId>*</artifactId>
                     </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
                 </exclusions>
             </dependency>
             <dependency>
@@ -214,6 +220,16 @@
             <artifactId>schema-registry-webservice</artifactId>
             <version>${schema.registry.version}</version>
             <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
diff --git a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/RangerServiceSchemaRegistry.java b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/RangerServiceSchemaRegistry.java
index 8306b51..059a75c 100644
--- a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/RangerServiceSchemaRegistry.java
+++ b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/RangerServiceSchemaRegistry.java
@@ -19,12 +19,12 @@ package org.apache.ranger.services.schema.registry;
 
 import org.apache.ranger.services.schema.registry.client.AutocompletionAgent;
 import org.apache.ranger.services.schema.registry.client.SchemaRegistryResourceMgr;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerService;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.service.RangerBaseService;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -32,7 +32,7 @@ import java.util.List;
 
 public class RangerServiceSchemaRegistry extends RangerBaseService {
 
-    private static final Log LOG = LogFactory.getLog(RangerServiceSchemaRegistry.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RangerServiceSchemaRegistry.class);
 
 
     @Override
diff --git a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/AutocompletionAgent.java b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/AutocompletionAgent.java
index 3bb107e..81ad8d9 100644
--- a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/AutocompletionAgent.java
+++ b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/AutocompletionAgent.java
@@ -17,11 +17,11 @@
 
 package org.apache.ranger.services.schema.registry.client;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.services.schema.registry.client.connection.DefaultSchemaRegistryClient;
 import org.apache.ranger.services.schema.registry.client.connection.ISchemaRegistryClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
  * The class that is used to get needed information for auto completion feature.
  */
 public class AutocompletionAgent {
-    private static final Log LOG = LogFactory.getLog(AutocompletionAgent.class);
+    private static final Logger LOG = LoggerFactory.getLogger(AutocompletionAgent.class);
 
     private ISchemaRegistryClient client;
     private String serviceName;
diff --git a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/SchemaRegistryResourceMgr.java b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/SchemaRegistryResourceMgr.java
index 3cc1199..7853d0e 100644
--- a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/SchemaRegistryResourceMgr.java
+++ b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/SchemaRegistryResourceMgr.java
@@ -17,10 +17,10 @@
 
 package org.apache.ranger.services.schema.registry.client;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.util.TimedEventUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.Collections;
 import java.util.List;
@@ -30,7 +30,7 @@ import java.util.concurrent.TimeUnit;
 
 public class SchemaRegistryResourceMgr {
 
-    private static final Log LOG = LogFactory.getLog(SchemaRegistryResourceMgr.class);
+    private static final Logger LOG = LoggerFactory.getLogger(SchemaRegistryResourceMgr.class);
 
     private static final String REGISTRY_SERVICE = "registry-service";
     private static final String SERDE = "serde";
diff --git a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/connection/DefaultSchemaRegistryClient.java b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/connection/DefaultSchemaRegistryClient.java
index 3a46436..8da7409 100644
--- a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/connection/DefaultSchemaRegistryClient.java
+++ b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/connection/DefaultSchemaRegistryClient.java
@@ -20,14 +20,14 @@ package org.apache.ranger.services.schema.registry.client.connection;
 import com.hortonworks.registries.auth.Login;
 import com.hortonworks.registries.schemaregistry.client.LoadBalancedFailoverUrlSelector;
 import com.hortonworks.registries.schemaregistry.client.UrlSelector;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.services.schema.registry.client.connection.util.SecurityUtils;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONObject;
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.client.JerseyClientBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.net.ssl.SSLContext;
 import javax.ws.rs.client.ClientBuilder;
@@ -50,7 +50,7 @@ import static com.hortonworks.registries.schemaregistry.client.SchemaRegistryCli
 
 public class DefaultSchemaRegistryClient implements ISchemaRegistryClient {
 
-    private static final Log LOG = LogFactory.getLog(DefaultSchemaRegistryClient.class);
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultSchemaRegistryClient.class);
 
     private static final String SCHEMA_REGISTRY_PATH = "/api/v1/schemaregistry";
     private static final String SCHEMAS_PATH = SCHEMA_REGISTRY_PATH + "/schemas/";
diff --git a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/connection/util/SecurityUtils.java b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/connection/util/SecurityUtils.java
index 13eaf8e..8c9e1a4 100644
--- a/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/connection/util/SecurityUtils.java
+++ b/plugin-schema-registry/src/main/java/org/apache/ranger/services/schema/registry/client/connection/util/SecurityUtils.java
@@ -21,8 +21,8 @@ import com.hortonworks.registries.auth.KerberosLogin;
 import com.hortonworks.registries.auth.Login;
 import com.hortonworks.registries.auth.NOOPLogin;
 import com.hortonworks.registries.auth.util.JaasConfiguration;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.net.ssl.KeyManager;
 import javax.net.ssl.KeyManagerFactory;
@@ -51,7 +51,7 @@ import static org.apache.ranger.plugin.client.HadoopConfigHolder.RANGER_LOOKUP_P
 
 public class SecurityUtils {
 
-    private static final Log LOG = LogFactory.getLog(SecurityUtils.class);
+    private static final Logger LOG = LoggerFactory.getLogger(SecurityUtils.class);
     private static final long KERBEROS_SYNCHRONIZATION_TIMEOUT_MS = 180000;
     private static final String REGISTY_CLIENT_JAAS_SECTION = "RegistryClient";
 
diff --git a/plugin-schema-registry/src/test/resources/logback.xml b/plugin-schema-registry/src/test/resources/logback.xml
new file mode 100644
index 0000000..4e991c3
--- /dev/null
+++ b/plugin-schema-registry/src/test/resources/logback.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <Target>System.out</Target>
+    <encoder>
+      <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+  </appender>
+  <root level="INFO">
+    <appender-ref ref="console"/>
+  </root>
+</configuration>
diff --git a/plugin-solr/pom.xml b/plugin-solr/pom.xml
index 1def0cd..2c8dc2b 100644
--- a/plugin-solr/pom.xml
+++ b/plugin-solr/pom.xml
@@ -87,6 +87,10 @@
                    <groupId>io.netty</groupId>
                    <artifactId>netty-common</artifactId>
                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
     </dependencies>
diff --git a/plugin-solr/src/main/java/org/apache/ranger/authorization/solr/authorizer/RangerSolrAuthorizer.java b/plugin-solr/src/main/java/org/apache/ranger/authorization/solr/authorizer/RangerSolrAuthorizer.java
index 200d037..d4dd7b0 100644
--- a/plugin-solr/src/main/java/org/apache/ranger/authorization/solr/authorizer/RangerSolrAuthorizer.java
+++ b/plugin-solr/src/main/java/org/apache/ranger/authorization/solr/authorizer/RangerSolrAuthorizer.java
@@ -36,8 +36,6 @@ import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.audit.provider.MiscUtil;
 import org.apache.ranger.plugin.contextenricher.RangerContextEnricher;
 import org.apache.ranger.plugin.contextenricher.RangerUserStoreEnricher;
@@ -62,13 +60,15 @@ import org.apache.solr.security.AuthorizationPlugin;
 import org.apache.solr.security.AuthorizationResponse;
 import org.apache.solr.security.AuthorizationContext;
 import org.apache.solr.security.AuthorizationContext.CollectionRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.servlet.http.HttpServletRequest;
 
 public class RangerSolrAuthorizer extends SearchComponent implements AuthorizationPlugin {
-	private static final Log logger = LogFactory
-			.getLog(RangerSolrAuthorizer.class);
-	private static final Log PERF_SOLRAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("solrauth.request");
+	private static final Logger logger = LoggerFactory
+			.getLogger(RangerSolrAuthorizer.class);
+	private static final Logger PERF_SOLRAUTH_REQUEST_LOG = RangerPerfTracer.getPerfLogger("solrauth.request");
 	public static final String SUPERUSER = System.getProperty("solr.authorization.superuser", "solr");
 
 	public static final String AUTH_FIELD_PROP = "rangerAuthField";
@@ -224,7 +224,7 @@ public class RangerSolrAuthorizer extends SearchComponent implements Authorizati
 			logger.info("init(): KerberosName.rules="
 					+ MiscUtil.getKerberosNamesRules());
 		} catch (Throwable t) {
-			logger.fatal("Error creating and initializing RangerBasePlugin()", t);
+			logger.error("Error creating and initializing RangerBasePlugin()", t);
 		}
 	}
 
diff --git a/plugin-solr/src/main/java/org/apache/ranger/services/solr/RangerServiceSolr.java b/plugin-solr/src/main/java/org/apache/ranger/services/solr/RangerServiceSolr.java
index eb567b1..97909ae 100644
--- a/plugin-solr/src/main/java/org/apache/ranger/services/solr/RangerServiceSolr.java
+++ b/plugin-solr/src/main/java/org/apache/ranger/services/solr/RangerServiceSolr.java
@@ -34,12 +34,12 @@ import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.services.solr.client.ServiceSolrClient;
 import org.apache.ranger.services.solr.client.ServiceSolrConnectionMgr;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RangerServiceSolr extends RangerBaseService {
 
-	private static final Log LOG = LogFactory.getLog(RangerServiceSolr.class);
+	private static final Logger LOG = LoggerFactory.getLogger(RangerServiceSolr.class);
 	public static final String ACCESS_TYPE_QUERY  = "query";
 
 	public RangerServiceSolr() {
diff --git a/plugin-solr/src/main/java/org/apache/ranger/services/solr/client/ServiceSolrClient.java b/plugin-solr/src/main/java/org/apache/ranger/services/solr/client/ServiceSolrClient.java
index 4b69fb9..5f7b9b9 100644
--- a/plugin-solr/src/main/java/org/apache/ranger/services/solr/client/ServiceSolrClient.java
+++ b/plugin-solr/src/main/java/org/apache/ranger/services/solr/client/ServiceSolrClient.java
@@ -37,7 +37,6 @@ import javax.security.auth.Subject;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.security.SecureClientLogin;
-import org.apache.log4j.Logger;
 import org.apache.ranger.plugin.client.BaseClient;
 import org.apache.ranger.plugin.client.HadoopConfigHolder;
 import org.apache.ranger.plugin.client.HadoopException;
@@ -59,9 +58,11 @@ import org.apache.solr.client.solrj.response.CoreAdminResponse;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.params.CoreAdminParams.CoreAdminAction;
 import org.apache.solr.common.util.SimpleOrderedMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ServiceSolrClient {
-	private static final Logger LOG = Logger.getLogger(ServiceSolrClient.class);
+	private static final Logger LOG = LoggerFactory.getLogger(ServiceSolrClient.class);
 
 	enum RESOURCE_TYPE {
 		COLLECTION, FIELD
diff --git a/plugin-sqoop/pom.xml b/plugin-sqoop/pom.xml
index 89c7163..f7830dc 100644
--- a/plugin-sqoop/pom.xml
+++ b/plugin-sqoop/pom.xml
@@ -45,12 +45,32 @@
             <artifactId>sqoop-security</artifactId>
             <version>${sqoop.version}</version>
             <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.sqoop</groupId>
             <artifactId>sqoop-core</artifactId>
             <version>${sqoop.version}</version>
             <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.ranger</groupId>
@@ -72,5 +92,11 @@
             <artifactId>httpcore</artifactId>
             <version>${httpcomponents.httpcore.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>log4j-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+	    <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/plugin-sqoop/src/main/java/org/apache/ranger/authorization/sqoop/authorizer/RangerSqoopAuthorizer.java b/plugin-sqoop/src/main/java/org/apache/ranger/authorization/sqoop/authorizer/RangerSqoopAuthorizer.java
index 05c61fb..65e08e4 100644
--- a/plugin-sqoop/src/main/java/org/apache/ranger/authorization/sqoop/authorizer/RangerSqoopAuthorizer.java
+++ b/plugin-sqoop/src/main/java/org/apache/ranger/authorization/sqoop/authorizer/RangerSqoopAuthorizer.java
... 8682 lines suppressed ...