You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ol...@apache.org on 2018/09/24 19:47:15 UTC

[ambari] branch branch-feature-logsearch-ga updated (f3f6452 -> 85ce982)

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

oleewere pushed a change to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git.


    from f3f6452  AMBARI-24593. Download client config fails if user running Ambari server has UID>2097151 (amagyar) (#2246)
     add 4b5aafc  AMBARI-24549. Move blueprint provisioning state property to host component level. (#2241)
     add 8055899  AMBARI-24595. PrincipalKeyCredential.equals fails for subtypes (dlysnichenko) (#2250)
     add 014d379  [AMBARI-24573] Clarify the warning message during ambari server setup (dsen) (#2212)
     add 7ce6e4e  AMBARI-24596. Stack Advisor reported an error. Exit Code: 2. Error: KeyError: 'onefs' (amagyar) (#2258)
     add 96faa4e  AMBARI-24598. Broken markup for alert on Installer Step7 (akovalenko)
     add 991e107  AMBARI-24546. Inserting new role authorization into DB tables (#2261)
     add e8f7413  AMBARI-23077. LogFeeder: create socket input. (#2260)
     add 8289c7f  [AMBARI-24580] [Log Search UI] Change the fix width and the height for the modal to flexible layout (#2251)
     add 4b60f5c  AMBARI-24597. Popup shown when Ambari started on a different port other than 8080 (akovalenko)
     add ab3a244  [AMBARI-24604] Stack advisor error popup with "500 status code" thrown during customize service page of install wizard (dsen) (#2270)
     add d9ab7ba  AMBARI-24605. Using the new RBAC framework to allow cluster operators/administrators and Ambari administrators to manage widgets (#2274)
     add 70b0579  AMBARI-24612 Host Level Maintenance mode is not working through Ambari UI
     add 7cc5c9d  AMBARI-24614. deploy-gce-perf-cluster.py script does not work (aonishuk)
     add 68d0b64  AMBARI-24609. Ability to install common ambari python libraries to maven repository (local / remote). (#2273)
     add c17762b  [AMBARI-24610] [Log Search UI] Show user friendly component name in query input (#2277)
     add 6645b45  AMBARI-24619 Horizontal scroll bar on assign slaves and clients page is not convenient for deploy with numerous hosts. (ababiichuk)
     add 3ed311f  AMBARI-24624. Log Search: Field type 'key_lower_case' not found - in Solr. (#2296)
     add 218f99d  AMBARI-24620 Duplicate view of configurations in Add Service wizard
     add b2f3690  AMBARI-24618. Ambari generates wrong zookeeper connection string for KMS HA configuration
     add d5a1acc  AMBARI-24618. Ambari generates wrong zookeeper connection string for KMS HA configuration(tests)
     add ff3952f  Merge pull request #2287 from hiveww/AMBARI-24618-trunk
     add c683a6b  AMBARI-24625. Ambari self signed certificate generated with 1024 bits length, need to make this 2048 (dlysnichenko) (#2297)
     add 6cd99d2  AMBARI-24611. Disabling an Alert Does Not Clear It in the Web UI. (#2301)
     add c375853  AMBARI-24626. Log Search: some solr fields are missing from service log / audit log response (#2299)
     add 98dc82b7 AMBARI-24627 "Host is in Maintenance mode" text is not displayed in UI after maintenance mode is turned on
     add 3edb35c  AMBARI-24623. hdfsResource fails to using nameservices for filesystems which does not support that (aonishuk)
     add ffeaf06  AMBARI-24621. Badge with count of empty or invalid properties are missed ar the services panel during cluster installation (akovalenko)
     add 8c9b50c  AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko)
     add e3c3e34  AMBARI-24628. Fix possible "Phishing by Navigating Browser Tabs" vulnerability (akovalenko)
     add 281d1ae  AMBARI-24633. Ambari strips leading space for valid YARN configs on the config compare screen
     add 9457e43  Merge pull request #2304 from hiveww/AMBARI-24633-trunk
     add 443a473  [AMBARI-24636] Add Service wizard fails if a service without configs is installed.
     add c03f4b0  [AMBARI-24556] Aggregation across clusters are not being done in AMS for even when multiple cluster support is enabled. (#2314)
     add 8add52c  AMBARI-24640. Log Search: support to remove suffixes from field names. (#2321)
     add 6d7ef71  AMBARI-24639 Not able to turn off maintenance mode for a host.
     add 9a81c82  AMBARI-24645 Issues with tooltip containing custom time range for charts. (ababiichuk)
     add 611337c  [AMBARI-22817] Update backend code to handle new versioning schema. (#155)
     add cbb50ad  AMBARI-24641. Stackadvisor error while trying to add atlas service. E… (#2323)
     add 10706cb  AMBARI-24647. [PERF] Host checks taking longer time than previous releases (aonishuk)
     add 4db8904  AMBARI-24638. Ambari-agent process consuming more memory. (aonishuk)
     add 9d307c8  AMBARI-24644. Log Search: support trusted knox proxy. (#2327)
     add 60f0b5e  AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko)
     add f4417ff  AMBARI-24635. Web Client Chooses Wrong Version When Reverting Configs (akovalenko)
     add 7289a4f  AMBARI-24644. ADDENDUM - Log Search - Fix IP address setter
     add e1bce35  AMBARI-24648. Log Search: add simple file based authorization. (#2336)
     add d98d367  AMBARI-24519. Cover journal node step 5 controller
     add db5be49  AMBARI-24519. Cover journal node step 5 controller
     add b1a677d  Merge pull request #2135 from hiveww/AMBARI-24519-trunk
     add 45ffbb1  AMBARI-24654. Tasks fail on ambari-agent intermittently under cpu load due to race condition in ambari-agent (aonishuk)
     add 620539f  [AMBARI-24616] Disable Kerberos from Ambari UI didn't clean up keytab directories
     add 544b07e  [AMBARI-24631] [Log Search UI] styles and layout fixes (#2339)
     add 990724c  AMBARI-24662. Log Search: add simple LDAP authentication support (#2347)
     add f45cfa1  AMBARI-24666 Implement data visualization color palette. (ababiichuk)
     add 5f6e502  AMBARI-24646 'ambari-server setup-ldap' fails with AttributeError when master_key is not persisted (#2348)
     add a06742b  AMBARI-24662. Log Search: Ldap default fixes.
     new b775674  jdk 10 support
     new 8306010  refresh compiler versions
     new c33e9c6  Some fixes
     new 53496dc  Some additional fixes
     new 30f24a2  add log4j2 support
     new df10aa7  Get rid of AWS sdk
     new 2abe3c7  Fix UTs + logging changes
     new 8f0a544  simplify tests
     new bca5a96  add simple modules + create profiles
     new 4565c2a  logfeeder modules
     new d4eb9f1  Remove module-info.java files
     new 85ce982  repackage logfeeder container registry

The 12 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/resources/ui/admin-web/app/scripts/app.js |   2 +-
 .../python/ambari_agent/AlertSchedulerHandler.py   |   4 +-
 .../python/ambari_agent/ClusterTopologyCache.py    |  12 +-
 .../src/main/python/ambari_agent/Hardware.py       |   6 +-
 .../main/python/ambari_agent/RecoveryManager.py    |   8 +-
 ambari-agent/src/main/python/ambari_agent/Utils.py |  14 +-
 .../src/main/python/ambari_agent/security.py       |   2 +-
 .../src/test/python/ambari_agent/TestHardware.py   |   4 +-
 .../src/main/python/ambari_ws4py/websocket.py      |   3 +-
 .../libraries/functions/module_version.py          | 158 ++++++++++
 .../libraries/functions/mpack_version.py           | 207 +++++++++++++
 .../libraries/providers/hdfs_resource.py           |   2 +-
 ambari-logsearch/ambari-logsearch-appender/pom.xml |   4 +-
 .../appender/LogsearchRollingFileAppender.java     |   2 +-
 .../apache/ambari/logsearch/appender/AppTest.java  |   2 +-
 .../src/test/resources/log4j.properties            |   9 +-
 .../ambari-logsearch-config-api/pom.xml            |   5 +-
 .../config/api/LogLevelFilterUpdater.java          |   6 +-
 .../config/api/LogSearchConfigFactory.java         |  12 +-
 .../model/inputconfig/InputS3FileDescriptor.java   |   3 +
 ...eDescriptor.java => InputSocketDescriptor.java} |  17 +-
 .../src/test/resources/log4j2-test.xml             |  23 ++
 .../ambari-logsearch-config-json/pom.xml           |   5 -
 .../json/model/inputconfig/impl/InputAdapter.java  |   2 +
 .../impl/InputS3FileDescriptorImpl.java            |  18 ++
 .../impl/InputSocketDescriptorImpl.java            | 111 +++++++
 .../config/local/LogLevelFilterManagerLocal.java   |   8 +-
 .../config/local/LogSearchConfigLocalUpdater.java  |  18 +-
 .../local/LogSearchConfigLogFeederLocal.java       |   6 +-
 .../config/local/LogSearchConfigServerLocal.java   |   1 -
 .../config/solr/LogLevelFilterManagerSolr.java     |  18 +-
 .../config/solr/LogLevelFilterUpdaterSolr.java     |  16 +-
 .../config/zookeeper/LogLevelFilterManagerZK.java  |  12 +-
 .../zookeeper/LogSearchConfigLogFeederZK.java      |  21 +-
 .../config/zookeeper/LogSearchConfigServerZK.java  |  11 +-
 .../config/zookeeper/LogSearchConfigZK.java        |  12 +-
 .../config/zookeeper/LogSearchConfigZKHelper.java  |  14 +-
 .../pom.xml                                        |  27 +-
 .../logsearch/layout/LogSearchJsonLayout.java      | 120 ++++++++
 .../ambari/logsearch/layout/LayoutTest.java}       |  14 +-
 .../src/test/resources/log4j2.xml                  |  39 +++
 .../pom.xml                                        |  19 +-
 .../{ => container}/ContainerMetadata.java         |   2 +-
 .../{ => container}/ContainerRegistry.java         |   2 +-
 .../docker/DockerContainerRegistry.java            |  14 +-
 .../docker/DockerContainerRegistryMonitor.java     |  10 +-
 .../{ => container}/docker/DockerMetadata.java     |   4 +-
 .../docker/command/CommandExecutionHelper.java     |   2 +-
 .../docker/command/CommandResponse.java            |   2 +-
 .../docker/command/ContainerCommand.java           |   2 +-
 .../command/DockerInspectContainerCommand.java     |   8 +-
 .../docker/command/DockerListContainerCommand.java |   8 +-
 .../ambari-logsearch-logfeeder-plugin-api/pom.xml  |   5 +-
 .../ambari/logfeeder/plugin/common/AliasUtil.java  |  18 +-
 .../ambari/logfeeder/plugin/common/ConfigItem.java |   8 +-
 .../ambari/logfeeder/plugin/filter/Filter.java     |  10 +-
 .../ambari/logfeeder/plugin/input/Input.java       |  26 +-
 .../ambari/logfeeder/plugin/output/Output.java     |   6 +-
 .../ambari-logsearch-logfeeder/build.xml           |   2 +-
 .../ambari-logsearch-logfeeder/pom.xml             |  82 +++--
 .../org/apache/ambari/logfeeder/LogFeeder.java     |   2 +-
 .../ambari/logfeeder/common/ConfigHandler.java     |  41 +--
 .../common/LogFeederSolrClientFactory.java         |  12 +-
 .../ambari/logfeeder/conf/ApplicationConfig.java   |   2 +-
 .../logfeeder/conf/LogFeederSecurityConfig.java    |  10 +-
 .../apache/ambari/logfeeder/filter/FilterGrok.java |  25 +-
 .../apache/ambari/logfeeder/filter/FilterJSON.java |   8 +-
 .../ambari/logfeeder/filter/FilterKeyValue.java    |  13 +-
 .../logfeeder/input/InputConfigUploader.java       |  12 +-
 .../apache/ambari/logfeeder/input/InputFile.java   |  89 +++---
 .../ambari/logfeeder/input/InputManagerImpl.java   |  34 +--
 .../apache/ambari/logfeeder/input/InputS3File.java |  25 +-
 .../ambari/logfeeder/input/InputSimulate.java      |   8 +-
 .../apache/ambari/logfeeder/input/InputSocket.java | 167 ++++++++++
 .../ambari/logfeeder/input/InputSocketMarker.java  |  71 +++++
 .../logfeeder/input/file/ProcessFileHelper.java    |  35 +--
 .../file/checkpoint/FileCheckpointManager.java     |  21 +-
 .../file/checkpoint/util/FileCheckInHelper.java    |  11 +-
 .../util/FileCheckpointCleanupHelper.java          |  30 +-
 .../checkpoint/util/ResumeLineNumberHelper.java    |  18 +-
 .../input/monitor/AbstractLogFileMonitor.java      |   6 +-
 .../input/monitor/CheckpointCleanupMonitor.java    |   8 +-
 .../input/monitor/DockerLogFileUpdateMonitor.java  |  22 +-
 .../input/monitor/LogFileDetachMonitor.java        |  10 +-
 .../input/monitor/LogFilePathUpdateMonitor.java    |  12 +-
 .../ambari/logfeeder/input/reader/GZIPReader.java  |   9 +-
 .../input/reader/LogsearchReaderFactory.java       |   9 +-
 .../loglevelfilter/LogLevelFilterHandler.java      |  18 +-
 .../ambari/logfeeder/mapper/MapperAnonymize.java   |  11 +-
 .../apache/ambari/logfeeder/mapper/MapperDate.java |  15 +-
 .../ambari/logfeeder/mapper/MapperFieldCopy.java   |   7 +-
 .../ambari/logfeeder/mapper/MapperFieldName.java   |  11 +-
 .../ambari/logfeeder/mapper/MapperFieldValue.java  |  11 +-
 .../logfeeder/metrics/LogFeederAMSClient.java      |   7 +-
 .../ambari/logfeeder/metrics/MetricsManager.java   |  33 +-
 .../ambari/logfeeder/metrics/StatsLogger.java      |   8 +-
 .../ambari/logfeeder/output/OutputDevNull.java     |   7 +-
 .../apache/ambari/logfeeder/output/OutputFile.java |  15 +-
 .../ambari/logfeeder/output/OutputHDFSFile.java    |  37 +--
 .../ambari/logfeeder/output/OutputKafka.java       |  39 +--
 .../ambari/logfeeder/output/OutputLineFilter.java  |   9 +-
 .../ambari/logfeeder/output/OutputManagerImpl.java |  25 +-
 .../ambari/logfeeder/output/OutputS3File.java      |  16 +-
 .../apache/ambari/logfeeder/output/OutputSolr.java |  59 ++--
 .../logfeeder/output/S3OutputConfiguration.java    |  10 +-
 .../apache/ambari/logfeeder/output/S3Uploader.java |  40 +--
 .../ambari/logfeeder/output/spool/LogSpooler.java  |  23 +-
 .../org/apache/ambari/logfeeder/util/AWSUtil.java  |  42 ---
 .../ambari/logfeeder/util/CompressionUtil.java     |  11 +-
 .../org/apache/ambari/logfeeder/util/DateUtil.java |  13 +-
 .../org/apache/ambari/logfeeder/util/FileUtil.java |  22 +-
 .../ambari/logfeeder/util/LogFeederHDFSUtil.java   |  13 +-
 .../ambari/logfeeder/util/LogFeederUtil.java       |  19 +-
 .../org/apache/ambari/logfeeder/util/S3Util.java   | 119 +++-----
 .../src/main/resources/alias_config.json           |   5 +-
 .../shipper-conf/input.config-sample.json          |  18 ++
 .../src/main/resources/log4j.xml                   |  67 ----
 .../src/main/resources/log4j2.yml                  |  74 +++++
 .../src/main/scripts/logfeeder.sh                  |   2 +-
 .../ambari/logfeeder/filter/FilterGrokTest.java    |  10 -
 .../ambari/logfeeder/filter/FilterJSONTest.java    |  10 -
 .../logfeeder/filter/FilterKeyValueTest.java       |   9 -
 .../ambari/logfeeder/input/InputFileTest.java      |   6 -
 .../logfeeder/mapper/MapperAnonymizeTest.java      |   5 -
 .../ambari/logfeeder/mapper/MapperDateTest.java    |   8 -
 .../logfeeder/mapper/MapperFieldCopyTest.java      |   4 -
 .../logfeeder/mapper/MapperFieldNameTest.java      |   4 -
 .../logfeeder/mapper/MapperFieldValueTest.java     |   5 -
 .../ambari/logfeeder/output/OutputKafkaTest.java   |   4 -
 .../ambari/logfeeder/output/S3UploaderTest.java    |  15 +-
 .../apache/ambari/logfeeder/util/S3UtilTest.java   |   4 +
 .../src/test/resources/log4j.xml                   |  53 ----
 .../src/test/resources/log4j2-test.xml             |  23 ++
 ambari-logsearch/ambari-logsearch-server/build.xml |   4 +-
 ambari-logsearch/ambari-logsearch-server/pom.xml   | 103 +++++--
 .../configsets/hadoop_logs/conf/solrconfig.xml     |   4 +-
 .../org/apache/ambari/logsearch/LogSearch.java     |   8 +-
 .../logsearch/auth/filter/AbstractJWTFilter.java   |  23 +-
 .../ambari/logsearch/common/ApiDocStorage.java     |  10 +-
 .../logsearch/common/ExternalServerClient.java     |   7 +-
 .../logsearch/common/LabelFallbackHandler.java     |  20 +-
 .../logsearch/common/LogSearchConstants.java       |   4 +-
 .../common/LogSearchLdapAuthorityMapper.java       |  99 ++++++
 .../ambari/logsearch/conf/AuthPropsConfig.java     | 137 +++++++++
 .../conf/LogSearchJerseyResourceConfig.java        |   3 +-
 .../logsearch/conf/LogSearchLdapAuthConfig.java    | 282 +++++++++++++++++
 .../logsearch/conf/LogSearchServletConfig.java     |  33 +-
 .../logsearch/conf/LogSearchSessionConfig.java     |  46 +++
 .../ambari/logsearch/conf/SecurityConfig.java      | 103 ++++++-
 .../apache/ambari/logsearch/conf/SolrConfig.java   |   3 -
 .../ambari/logsearch/conf/UIMappingConfig.java     |  41 ++-
 .../LogLevelManagerFilterConfigurer.java           |   6 +-
 .../configurer/LogSearchConfigConfigurer.java      |   6 +-
 .../configurer/SolrAuditAliasConfigurer.java       |  28 +-
 .../configurer/SolrCollectionConfigurer.java       |  32 +-
 .../ambari/logsearch/configurer/SslConfigurer.java |  26 +-
 .../apache/ambari/logsearch/dao/AuditSolrDao.java  |   7 +-
 .../ambari/logsearch/dao/EventHistorySolrDao.java  |   9 +-
 .../org/apache/ambari/logsearch/dao/RoleDao.java   | 126 ++++++++
 .../ambari/logsearch/dao/ServiceLogsSolrDao.java   |   9 +-
 .../apache/ambari/logsearch/dao/SolrDaoBase.java   |  19 +-
 .../ambari/logsearch/dao/SolrSchemaFieldDao.java   |  20 +-
 .../org/apache/ambari/logsearch/dao/UserDao.java   |  27 +-
 .../ambari/logsearch/handler/ACLHandler.java       |  14 +-
 .../handler/AbstractSolrConfigHandler.java         |   8 +-
 .../logsearch/handler/CreateCollectionHandler.java |  36 +--
 .../logsearch/handler/ListCollectionHandler.java   |  10 +-
 .../logsearch/handler/ReloadCollectionHandler.java |  10 +-
 .../handler/UploadConfigurationHandler.java        |  18 +-
 .../ambari/logsearch/manager/AuditLogsManager.java |  10 +-
 .../logsearch/manager/EventHistoryManager.java     |   8 +-
 .../ambari/logsearch/manager/ManagerBase.java      |   5 +-
 .../logsearch/manager/ServiceLogsManager.java      |   8 +-
 .../ambari/logsearch/manager/SessionManager.java   |   5 +-
 .../logsearch/manager/ShipperConfigManager.java    |   5 +-
 .../model/common/LSServerInputConfig.java          |   4 +
 .../model/common/LSServerInputS3File.java          |  12 +
 ...erInputS3File.java => LSServerInputSocket.java} |  80 +++--
 .../logsearch/model/response/ServiceLogData.java   |  10 +
 .../rest/error/GeneralExceptionMapper.java         |   6 +-
 .../ambari/logsearch/service/UserService.java      |   6 +-
 .../ambari/logsearch/solr/SolrConstants.java       |   5 +
 .../logsearch/solr/model/SolrCommonLogData.java    |  49 +++
 .../logsearch/solr/model/SolrServiceLogData.java   |  26 ++
 .../apache/ambari/logsearch/util/CommonUtil.java   |  41 ---
 .../org/apache/ambari/logsearch/util/FileUtil.java |   5 +-
 .../org/apache/ambari/logsearch/util/JSONUtil.java |   5 +-
 .../authenticate/LogsearchAuthFailureHandler.java  |   5 +-
 .../LogsearchLogoutSuccessHandler.java             |   5 +-
 .../filters/LogsearchAuthenticationEntryPoint.java |   6 +-
 .../logsearch/web/filters/LogsearchFilter.java     |   8 +-
 .../logsearch/web/filters/LogsearchJWTFilter.java  |  13 +-
 .../filters/LogsearchKRBAuthenticationFilter.java  |   7 +-
 .../logsearch/web/filters/LogsearchKrbFilter.java  |   6 +-
 .../LogsearchSecurityContextFormationFilter.java   |  11 +-
 .../web/filters/LogsearchTrustedProxyFilter.java   | 175 +++++++++++
 ...searchUsernamePasswordAuthenticationFilter.java |   5 +-
 .../logsearch/web/filters/NoServletContext.java    |  35 +++
 .../web/listener/LogSearchSessionListener.java     |  10 +-
 .../LogsearchAbstractAuthenticationProvider.java   |   2 +-
 .../security/LogsearchAuthenticationProvider.java  |  15 +-
 ...searchExternalServerAuthenticationProvider.java |  11 +-
 .../LogsearchFileAuthenticationProvider.java       |  22 +-
 ...va => LogsearchLdapAuthenticationProvider.java} |  49 +--
 .../LogsearchSimpleAuthenticationProvider.java     |   5 +-
 .../src/main/resources/log4j.xml                   |  85 ------
 .../src/main/resources/log4j2.yml                  | 106 +++++++
 .../src/main/resources/logsearch.properties        |   8 +-
 .../src/main/resources/roles.json                  |   5 +
 .../src/main/scripts/logsearch.sh                  |   2 +-
 .../logsearch/common/LabelFallbackHandlerTest.java |  26 +-
 .../common/LogSearchLdapAuthorityMapperTest.java   |  95 ++++++
 .../converter/AuditLogRequestConverterTest.java    |   4 +-
 .../AuditServiceLoadRequestQueryConverterTest.java |   4 +-
 .../BaseServiceLogRequestQueryConverterTest.java   |   4 +-
 .../FieldAuditLogRequestQueryConverterTest.java    |   4 +-
 .../ServiceLogAnyGraphRequestConverterTest.java    |   4 +-
 ...LogComponentLevelRequestQueryConverterTest.java |   6 +-
 ...LogComponentRequestFacetQueryConverterTest.java |   6 +-
 ...viceLogLevelCountRequestQueryConverterTest.java |   4 +-
 ...rviceLogTreeRequestFacetQueryConverterTest.java |   6 +-
 ...rviceLogTruncatedRequestQueryConverterTest.java |   4 +-
 .../TopFieldAuditLogRequestQueryConverterTest.java |   4 +-
 .../UserExportRequestQueryConverterTest.java       |   4 +-
 .../apache/ambari/logsearch/dao/RoleDaoTest.java   |  63 ++++
 .../LogsearchFileAuthenticationProviderTest.java   |  38 +--
 .../src/test/resources/log4j2-test.xml             |  23 ++
 ambari-logsearch/ambari-logsearch-web/package.json |   2 +-
 .../classes/components/graph/graph.component.ts    |   3 +
 .../components/graph/time-graph.component.less     |   2 +-
 .../action-menu/action-menu.component.html         |  29 +-
 .../action-menu/action-menu.component.less         |  22 ++
 .../action-menu/action-menu.component.spec.ts      |  18 +-
 .../action-menu/action-menu.component.ts           |  89 +++++-
 .../cluster-filter.component.spec.ts               |   5 +-
 .../cluster-filter/cluster-filter.component.ts     |   2 +-
 .../collapsible-panel.component.html               |   1 +
 .../collapsible-panel.component.less               |   2 +
 .../graph-legend-item.component.html               |   2 +-
 .../log-index-filter.component.html                | 130 ++++----
 .../log-index-filter.component.less                |  82 +++--
 .../log-index-filter.component.spec.ts             |  10 +-
 .../log-index-filter/log-index-filter.component.ts |  62 ++--
 .../log-message/log-message.component.html         |   4 +-
 .../log-message/log-message.component.spec.ts      |   7 +-
 .../log-message/log-message.component.ts           |  41 ++-
 .../logs-container/logs-container.component.html   |  41 ++-
 .../logs-container/logs-container.component.less   |  43 ++-
 .../logs-container.component.spec.ts               |   4 +-
 .../logs-container/logs-container.component.ts     |  26 +-
 .../search-box/search-box.component.html           |   2 +-
 .../search-box/search-box.component.spec.ts        |  17 +-
 .../service-logs-table.component.html              |  17 +-
 .../service-logs-table.component.less              |  13 +
 .../service-logs-table.component.ts                | 192 +++++++-----
 .../time-histogram/time-histogram.component.html   |   3 +
 .../time-histogram/time-histogram.component.less   |   3 +
 .../time-range-picker.component.html               |   2 +-
 .../timezone-picker.component.spec.ts              |   8 +-
 .../src/app/modules/app-load/app-load.module.ts    |   2 +-
 .../modules/app-load/services/app-load.service.ts  |   2 +-
 ...e.store.ts => data-availability-state.store.ts} |   0
 .../circle-progress-bar.component.html}            |  34 +--
 .../circle-progress-bar.component.less}            |  45 +--
 .../circle-progress-bar.component.spec.ts}         |  47 ++-
 .../circle-progress-bar.component.ts               |  86 ++++++
 .../data-loading-indicator.component.html          |   4 +-
 .../data-loading-indicator.component.spec.ts       |   8 +-
 .../data-loading-indicator.component.ts            |   2 +-
 .../dropdown-list/dropdown-list.component.ts       |   4 +
 .../loading-indicator.component.html}              |   6 +-
 .../loading-indicator.component.less}              |  38 +--
 .../loading-indicator.component.spec.ts}           |  46 ++-
 .../loading-indicator.component.ts}                |  33 +-
 .../modal-dialog/modal-dialog.component.html       |  37 +++
 .../modal-dialog/modal-dialog.component.less       |  59 ++++
 .../modal-dialog/modal-dialog.component.spec.ts    |  50 +++
 .../modal-dialog/modal-dialog.component.ts         |  94 ++++++
 .../src/app/modules/shared/shared.module.ts        |  13 +-
 .../src/app/modules/shared/variables.less          |  16 +-
 .../log-index-filter.service.spec.ts}              |  49 ++-
 .../log-index-filter.service.ts}                   |  38 +--
 .../src/app/services/logs-container.service.ts     |  32 +-
 .../src/app/services/storage/reducers.service.ts   |   2 +-
 .../src/app/services/user-settings.service.spec.ts |   8 +-
 .../src/app/services/user-settings.service.ts      |  39 ++-
 .../ambari-logsearch-web/src/assets/i18n/en.json   |   6 +
 ambari-logsearch/ambari-logsearch-web/yarn.lock    |   6 +-
 ambari-logsearch/docker/Dockerfile                 |  11 +-
 ambari-logsearch/docker/bin/start.sh               |   3 +-
 .../docker/test-config/logfeeder/log4j.xml         |  43 ---
 .../docker/test-config/logfeeder/log4j2.yml        |  50 +++
 .../docker/test-config/logsearch/log4j.xml         |  49 ---
 .../docker/test-config/logsearch/log4j2.yml        |  50 +++
 .../logsearch/logsearch-https.properties           |   8 +-
 .../test-config/logsearch/logsearch-sso.properties |  11 +-
 .../test-config/logsearch/logsearch.properties     |  10 +-
 ambari-logsearch/pom.xml                           |  92 ++++--
 .../TimelineMetricClusterAggregatorSecond.java     |   4 +-
 .../server/agent/stomp/HostLevelParamsHolder.java  |  24 +-
 .../agent/stomp/dto/HostLevelParamsCluster.java    |  14 +-
 .../query/render/AlertSummaryGroupedRenderer.java  |  12 +
 .../ambari/server/api/services/AmbariMetaInfo.java |   3 +-
 .../controller/AmbariManagementController.java     |  15 +
 .../controller/AmbariManagementControllerImpl.java |  39 ++-
 .../server/controller/DeleteIdentityHandler.java   | 106 +++++--
 .../server/controller/KerberosHelperImpl.java      |  48 +--
 .../internal/AlertDefinitionResourceProvider.java  |   2 +-
 .../controller/internal/HostResourceProvider.java  |   3 +-
 .../internal/WidgetResourceProvider.java           |  37 +--
 .../utilities/KerberosIdentityCleaner.java         |  43 +--
 .../controller/utilities/RemovableIdentities.java  |  15 +-
 .../events/AlertDefinitionDisabledEvent.java       |  17 +-
 .../alerts/AlertDefinitionDisabledListener.java    |  15 +
 .../listeners/alerts/AlertReceivedListener.java    |   8 +
 .../events/publishers/AgentCommandsPublisher.java  | 337 +++++++++++++++++----
 .../ambari/server/orm/dao/KerberosKeytabDAO.java   |  43 ++-
 .../server/orm/dao/KerberosKeytabPrincipalDAO.java |  63 +++-
 .../server/orm/dao/KerberosPrincipalDAO.java       |  46 ++-
 .../ambari/server/orm/entities/ClusterEntity.java  |  14 -
 .../entities/HostComponentDesiredStateEntity.java  |  19 ++
 .../server/orm/entities/KerberosKeytabEntity.java  |   2 +-
 .../entities/KerberosKeytabPrincipalEntity.java    |  37 ++-
 .../orm/entities/KerberosPrincipalEntity.java      |  22 ++
 .../security/authorization/RoleAuthorization.java  |   1 +
 .../credential/PrincipalKeyCredential.java         |   2 +-
 .../serveraction/kerberos/CleanupServerAction.java |  17 +-
 .../ConfigureAmbariIdentitiesServerAction.java     |  15 +-
 .../kerberos/DestroyPrincipalsServerAction.java    | 287 +++++++++++++-----
 .../kerberos/KerberosServerAction.java             |  17 +-
 .../PrepareDisableKerberosServerAction.java        |   5 +
 .../stageutils/KerberosKeytabController.java       |  35 ++-
 .../org/apache/ambari/server/state/Cluster.java    |   4 -
 .../ambari/server/state/cluster/ClusterImpl.java   |  53 ++--
 .../svccomphost/ServiceComponentHostImpl.java      |  20 ++
 .../ambari/server/topology/AmbariContext.java      |   7 +-
 .../ambari/server/upgrade/UpgradeCatalog272.java   |  20 +-
 .../apache/ambari/server/utils/ModuleVersion.java  | 162 ++++++++++
 .../apache/ambari/server/utils/MpackVersion.java   | 197 ++++++++++++
 .../python/ambari_server/dbConfiguration_linux.py  |   6 +-
 .../python/ambari_server/serverConfiguration.py    |  44 +--
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql |   8 +-
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql |   8 +-
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql    |   8 +-
 .../main/resources/Ambari-DDL-Postgres-CREATE.sql  |   8 +-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql    |   8 +-
 .../main/resources/Ambari-DDL-SQLServer-CREATE.sql |   8 +-
 .../src/main/resources/stacks/PERF/check_host.sed  |  20 ++
 .../src/main/resources/stacks/stack_advisor.py     |   7 +
 .../ambari/server/agent/TestHeartbeatHandler.java  |  37 ++-
 .../agent/stomp/HostLevelParamsHolderTest.java     |  18 +-
 .../server/controller/KerberosHelperTest.java      |  14 +-
 .../internal/HostResourceProviderTest.java         |   3 +
 .../internal/WidgetResourceProviderTest.java       |   2 +-
 .../utilities/KerberosIdentityCleanerTest.java     |  26 +-
 .../kerberos/KerberosServerActionTest.java         |   3 +-
 .../ambari/server/topology/AmbariContextTest.java  |  11 +-
 .../server/upgrade/UpgradeCatalog272Test.java      |  38 ++-
 .../ambari/server/utils/TestVersionUtils.java      | 142 +++++++++
 ambari-server/src/test/python/TestVersion.py       | 100 +++++-
 ambari-web/app/assets/img/widget-gauge.png         | Bin 6444 -> 3563 bytes
 ambari-web/app/assets/img/widget-graph.png         | Bin 9778 -> 3844 bytes
 ambari-web/app/assets/img/widget-number.png        | Bin 5297 -> 3209 bytes
 ambari-web/app/assets/img/widget-template.png      | Bin 4834 -> 2574 bytes
 ambari-web/app/assets/test/tests.js                |   3 +-
 ambari-web/app/config.js                           |   2 +
 ambari-web/app/controllers/installer.js            |   2 +-
 ambari-web/app/controllers/main/host/details.js    |   6 +-
 ambari-web/app/controllers/main/service/item.js    |   2 +-
 ambari-web/app/messages.js                         |   4 +-
 .../app/mixins/common/configs/enhanced_configs.js  |  33 +-
 .../app/mixins/common/widgets/time_range_mixin.js  |   4 +-
 ambari-web/app/models/host.js                      |   2 +-
 ambari-web/app/models/host_component.js            |  12 +-
 ambari-web/app/styles/common.less                  |  17 ++
 ambari-web/app/styles/service_configurations.less  |   3 +
 ambari-web/app/styles/wizard.less                  | 143 ++++++---
 .../common/configs/config_versions_control.hbs     |   2 +-
 .../common/configs/configs_comparison_cell.hbs     |   4 +-
 .../common/configs/configs_comparison_row.hbs      |   2 +-
 .../templates/common/configs/services_config.hbs   |   8 +-
 .../app/templates/common/host_progress_popup.hbs   |   2 +-
 .../common/modal_popups/log_tail_popup.hbs         |   2 +-
 .../templates/main/alerts/definition_details.hbs   |   2 +-
 .../main/dashboard/widgets/hbase_links.hbs         |   6 +-
 .../main/dashboard/widgets/hdfs_links.hbs          |   4 +-
 .../main/dashboard/widgets/yarn_links.hbs          |   4 +-
 ambari-web/app/templates/main/host/logs.hbs        |   2 +-
 .../metrics/flume/flume_agent_metrics_section.hbs  |   4 +-
 .../app/templates/main/service/info/summary.hbs    |   4 +-
 ambari-web/app/templates/wizard/step6.hbs          |  72 +++--
 .../app/utils/chart_utils.js                       |  14 +-
 ambari-web/app/views/common/chart/linear_time.js   |   3 +-
 ambari-web/app/views/common/chart/pie.js           |   7 +-
 .../common/configs/config_versions_control_view.js |   4 +-
 .../configs/service_config_container_view.js       |   5 +-
 .../app/views/common/widget/gauge_widget_view.js   |   9 +-
 .../views/main/dashboard/cluster_metrics/cpu.js    |   7 -
 .../main/dashboard/widgets/pie_chart_widget.js     |   9 +-
 ambari-web/app/views/main/host/details.js          |   7 +-
 ambari-web/app/views/main/host/metrics/cpu.js      |   7 -
 .../service/info/metrics/flume/channel_size_mma.js |  11 -
 .../info/metrics/flume/flume_incoming_mma.js       |  12 -
 .../info/metrics/flume/flume_outgoing_mma.js       |  12 -
 .../app/views/main/service/info/metrics_view.js    |   1 +
 .../app/views/main/service/services/onefs.js       |   3 +-
 ambari-web/app/views/wizard/step6_view.js          |  36 ++-
 .../journalNode/step3_controller_test.js           |  80 +++++
 .../test/controllers/main/host/details_test.js     |  11 +-
 ambari-web/test/models/host_component_test.js      |  34 ++-
 .../test/utils/chart_utils_test.js                 |  60 ++--
 .../configs/config_versions_control_view_test.js   |  12 +-
 ambari-web/test/views/wizard/step6_view_test.js    |  21 +-
 .../stacks/HDF/2.0/services/stack_advisor.py       |   3 +
 .../addon-services/ONEFS/1.0.0/service_advisor.py  |   7 +-
 .../stacks/ODPi/2.0/services/stack_advisor.py      |   3 +
 contrib/utils/perf/deploy-gce-perf-cluster.py      |  19 +-
 install-ambari-python.sh                           | 182 +++++++++++
 setup.py                                           |  36 ++-
 419 files changed, 7815 insertions(+), 2927 deletions(-)
 create mode 100644 ambari-common/src/main/python/resource_management/libraries/functions/module_version.py
 create mode 100644 ambari-common/src/main/python/resource_management/libraries/functions/mpack_version.py
 copy ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/{InputS3FileDescriptor.java => InputSocketDescriptor.java} (84%)
 create mode 100644 ambari-logsearch/ambari-logsearch-config-api/src/test/resources/log4j2-test.xml
 create mode 100644 ambari-logsearch/ambari-logsearch-config-json/src/main/java/org/apache/ambari/logsearch/config/json/model/inputconfig/impl/InputSocketDescriptorImpl.java
 copy ambari-logsearch/{ambari-logsearch-config-api => ambari-logsearch-log4j2-appender}/pom.xml (75%)
 create mode 100644 ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/org/apache/ambari/logsearch/layout/LogSearchJsonLayout.java
 copy ambari-logsearch/{ambari-logsearch-appender/src/test/java/org/apache/ambari/logsearch/appender/AppTest.java => ambari-logsearch-log4j2-appender/src/test/java/org/apache/ambari/logsearch/layout/LayoutTest.java} (81%)
 create mode 100644 ambari-logsearch/ambari-logsearch-log4j2-appender/src/test/resources/log4j2.xml
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/ContainerMetadata.java (96%)
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/ContainerRegistry.java (96%)
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/docker/DockerContainerRegistry.java (92%)
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/docker/DockerContainerRegistryMonitor.java (83%)
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/docker/DockerMetadata.java (94%)
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/docker/command/CommandExecutionHelper.java (96%)
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/docker/command/CommandResponse.java (95%)
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/docker/command/ContainerCommand.java (95%)
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/docker/command/DockerInspectContainerCommand.java (90%)
 rename ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/{ => container}/docker/command/DockerListContainerCommand.java (88%)
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSocket.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSocketMarker.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/AWSUtil.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j.xml
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j2.yml
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/test/resources/log4j.xml
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/test/resources/log4j2-test.xml
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/LogSearchLdapAuthorityMapper.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchLdapAuthConfig.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchSessionConfig.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/RoleDao.java
 copy ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/common/{LSServerInputS3File.java => LSServerInputSocket.java} (50%)
 delete mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/CommonUtil.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchTrustedProxyFilter.java
 copy ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/{LogsearchSimpleAuthenticationProvider.java => LogsearchLdapAuthenticationProvider.java} (50%)
 delete mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/resources/log4j.xml
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/resources/log4j2.yml
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/resources/roles.json
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/common/LogSearchLdapAuthorityMapperTest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/dao/RoleDaoTest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/test/resources/log4j2-test.xml
 rename ambari-logsearch/ambari-logsearch-web/src/app/modules/app-load/stores/{data-avaibility-state.store.ts => data-availability-state.store.ts} (100%)
 rename ambari-logsearch/{ambari-logsearch-config-api/src/test/resources/log4j.xml => ambari-logsearch-web/src/app/modules/shared/components/circle-progress-bar/circle-progress-bar.component.html} (55%)
 copy ambari-logsearch/ambari-logsearch-web/src/app/{components/collapsible-panel/collapsible-panel.component.less => modules/shared/components/circle-progress-bar/circle-progress-bar.component.less} (61%)
 copy ambari-logsearch/ambari-logsearch-web/src/app/{classes/components/graph/time-graph.component.less => modules/shared/components/circle-progress-bar/circle-progress-bar.component.spec.ts} (53%)
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/components/circle-progress-bar/circle-progress-bar.component.ts
 copy ambari-logsearch/ambari-logsearch-web/src/app/{components/graph-legend-item/graph-legend-item.component.html => modules/shared/components/loading-indicator/loading-indicator.component.html} (84%)
 copy ambari-logsearch/ambari-logsearch-web/src/app/{components/collapsible-panel/collapsible-panel.component.less => modules/shared/components/loading-indicator/loading-indicator.component.less} (63%)
 copy ambari-logsearch/ambari-logsearch-web/src/app/{classes/components/graph/time-graph.component.less => modules/shared/components/loading-indicator/loading-indicator.component.spec.ts} (53%)
 copy ambari-logsearch/ambari-logsearch-web/src/app/{components/collapsible-panel/collapsible-panel.component.less => modules/shared/components/loading-indicator/loading-indicator.component.ts} (63%)
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/components/modal-dialog/modal-dialog.component.html
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/components/modal-dialog/modal-dialog.component.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/components/modal-dialog/modal-dialog.component.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/components/modal-dialog/modal-dialog.component.ts
 copy ambari-logsearch/ambari-logsearch-web/src/app/{classes/components/graph/time-graph.component.less => services/log-index-filter.service.spec.ts} (52%)
 copy ambari-logsearch/ambari-logsearch-web/src/app/{classes/components/graph/time-graph.component.less => services/log-index-filter.service.ts} (55%)
 delete mode 100644 ambari-logsearch/docker/test-config/logfeeder/log4j.xml
 create mode 100644 ambari-logsearch/docker/test-config/logfeeder/log4j2.yml
 delete mode 100644 ambari-logsearch/docker/test-config/logsearch/log4j.xml
 create mode 100644 ambari-logsearch/docker/test-config/logsearch/log4j2.yml
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/utils/ModuleVersion.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/utils/MpackVersion.java
 create mode 100644 ambari-server/src/main/resources/stacks/PERF/check_host.sed
 copy ambari-logsearch/ambari-logsearch-web/src/app/components/time-histogram/time-histogram.component.less => ambari-web/app/utils/chart_utils.js (71%)
 create mode 100644 ambari-web/test/controllers/main/admin/highAvailability/journalNode/step3_controller_test.js
 copy ambari-logsearch/ambari-logsearch-web/src/app/components/log-index-filter/log-index-filter.component.less => ambari-web/test/utils/chart_utils_test.js (55%)
 create mode 100755 install-ambari-python.sh
 mode change 100644 => 100755 setup.py


[ambari] 03/12: Some fixes

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit c33e9c6b3f87fc17a52a41050fc2cc538b69c66b
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Fri Sep 21 00:01:08 2018 +0200

    Some fixes
---
 .../src/main/java/org/apache/ambari/logsearch/dao/UserDao.java     | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
index cf25bef..df040d2 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
@@ -18,27 +18,20 @@
  */
 package org.apache.ambari.logsearch.dao;
 
-import static java.util.Collections.singletonList;
-
 import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
 import org.apache.ambari.logsearch.conf.AuthPropsConfig;
-import org.apache.ambari.logsearch.util.CommonUtil;
 import org.apache.ambari.logsearch.util.FileUtil;
 import org.apache.ambari.logsearch.util.JSONUtil;
-import org.apache.ambari.logsearch.web.model.Privilege;
-import org.apache.ambari.logsearch.web.model.Role;
 import org.apache.ambari.logsearch.web.model.User;
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.security.core.GrantedAuthority;
 import org.springframework.stereotype.Repository;
 
 @Repository


[ambari] 11/12: Remove module-info.java files

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit d4eb9f12ef2c698e0d1aa85a8977d78c37c852fb
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Mon Sep 24 19:40:09 2018 +0200

    Remove module-info.java files
---
 .../src/main/java/module-info.java                 | 23 --------
 .../src/main/java/module-info.java                 | 24 --------
 .../src/main/java/module-info.java                 | 24 --------
 .../src/main/java/module-info.java                 | 25 --------
 .../src/main/java/module-info.java                 | 25 --------
 .../src/main/java/module-info.java                 | 32 ----------
 .../src/main/java/module-info.java                 | 26 ---------
 .../src/main/java/module-info.java                 | 24 --------
 .../src/main/java/module-info.java                 | 33 -----------
 .../src/main/java/module-info.java                 | 68 ----------------------
 10 files changed, 304 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-appender/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-appender/src/main/java/module-info.java
deleted file mode 100644
index 5e3e21d..0000000
--- a/ambari-logsearch/ambari-logsearch-appender/src/main/java/module-info.java
+++ /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.
- */
-module ambari.logsearch.appender {
-  exports org.apache.ambari.logsearch.appender;
-  requires log4j;
-  requires gson;
-}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-api/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-api/src/main/java/module-info.java
deleted file mode 100644
index a998e36..0000000
--- a/ambari-logsearch/ambari-logsearch-config-api/src/main/java/module-info.java
+++ /dev/null
@@ -1,24 +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.
- */
-module ambari.logsearch.config.api {
-  exports org.apache.ambari.logsearch.config.api;
-  exports org.apache.ambari.logsearch.config.api.model.inputconfig;
-  exports org.apache.ambari.logsearch.config.api.model.loglevelfilter;
-  requires org.apache.logging.log4j;
-}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-json/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-json/src/main/java/module-info.java
deleted file mode 100644
index caa3c44..0000000
--- a/ambari-logsearch/ambari-logsearch-config-json/src/main/java/module-info.java
+++ /dev/null
@@ -1,24 +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.
- */
-module ambari.logsearch.config.json {
-  exports org.apache.ambari.logsearch.config.json.model.inputconfig.impl;
-  exports org.apache.ambari.logsearch.config.json;
-  requires ambari.logsearch.config.api;
-  requires gson;
-}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/module-info.java
deleted file mode 100644
index 0c9d7ba..0000000
--- a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/module-info.java
+++ /dev/null
@@ -1,25 +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.
- */
-module ambari.logsearch.config.local {
-  exports org.apache.ambari.logsearch.config.local;
-  requires org.apache.logging.log4j;
-  requires gson;
-  requires ambari.logsearch.config.json;
-  requires ambari.logsearch.config.api;
-}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/module-info.java
deleted file mode 100644
index 0d156b6..0000000
--- a/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/module-info.java
+++ /dev/null
@@ -1,25 +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.
- */
-module ambari.logsearch.config.solr {
-  exports org.apache.ambari.logsearch.config.solr;
-  requires ambari.logsearch.config.api;
-  requires org.apache.logging.log4j;
-  requires solr.solrj;
-  requires gson;
-}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/module-info.java
deleted file mode 100644
index 803e0fd..0000000
--- a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/module-info.java
+++ /dev/null
@@ -1,32 +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.
- */
-module ambari.logsearch.config.zookeeper {
-  exports org.apache.ambari.logsearch.config.zookeeper;
-  requires ambari.logsearch.config.api;
-  requires ambari.logsearch.config.json;
-  requires zookeeper;
-  requires curator.framework;
-  requires curator.recipes;
-  requires curator.client;
-  requires org.apache.logging.log4j;
-  requires gson;
-  requires guava;
-  requires commons.collections;
-  requires commons.lang3;
-}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/module-info.java
deleted file mode 100644
index 64d4145..0000000
--- a/ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/module-info.java
+++ /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.
- */
-module ambari.logsearch.log4j2.appender {
-  requires org.apache.logging.log4j;
-  requires org.apache.logging.log4j.core;
-
-  requires com.fasterxml.jackson.annotation;
-  requires com.fasterxml.jackson.core;
-  requires com.fasterxml.jackson.databind;
-}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/module-info.java
deleted file mode 100644
index 057afff..0000000
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/module-info.java
+++ /dev/null
@@ -1,24 +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.
- */
-module ambari.logsearch.logfeeder.container.registry {
-  exports org.apache.ambari.logfeeder.docker;
-  requires org.apache.logging.log4j;
-  requires commons.lang;
-  requires com.fasterxml.jackson.databind;
-}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/module-info.java
deleted file mode 100644
index c1359d7..0000000
--- a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/module-info.java
+++ /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.
- */
-module ambari.logsearch.logfeeder.plugin.api {
-  exports org.apache.ambari.logfeeder.plugin.manager;
-  exports org.apache.ambari.logfeeder.plugin.common;
-  exports org.apache.ambari.logfeeder.plugin.filter;
-  exports org.apache.ambari.logfeeder.plugin.input;
-  exports org.apache.ambari.logfeeder.plugin.output;
-  exports org.apache.ambari.logfeeder.plugin.filter.mapper;
-  exports org.apache.ambari.logfeeder.plugin.input.cache;
-
-  requires ambari.logsearch.config.api;
-  requires gson;
-  requires org.apache.logging.log4j;
-  requires jackson.mapper.asl;
-  requires jackson.core.asl;
-}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/module-info.java
deleted file mode 100644
index 596d08a..0000000
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/module-info.java
+++ /dev/null
@@ -1,68 +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.
- */
-module ambari.logsearch.logfeeder {
-  exports org.apache.ambari.logfeeder.common;
-  requires java.xml.ws.annotation;
-
-  requires ambari.logsearch.config.api;
-  requires ambari.logsearch.config.local;
-  requires ambari.logsearch.config.zookeeper;
-  requires ambari.logsearch.config.solr;
-  requires ambari.logsearch.logfeeder.plugin.api;
-  requires ambari.logsearch.logfeeder.container.registry;
-  requires ambari.logsearch.log4j2.appender;
-
-  requires log4j;
-  requires org.apache.logging.log4j;
-  requires org.apache.logging.log4j.core;
-  requires org.apache.logging.log4j.jcl;
-  requires org.apache.logging.log4j.jul;
-  requires org.apache.logging.log4j.slf4j.impl;
-
-  requires javax.inject;
-  requires commons.cli;
-  requires commons.lang;
-  requires commons.io;
-  requires gson;
-  requires spring.boot.autoconfigure;
-  requires spring.boot;
-  requires spring.context;
-  requires com.google.common;
-  requires solr.solrj;
-  requires ambari.logsearch.config.json;
-  requires org.apache.commons.lang3;
-  requires spring.core;
-  requires commons.collections;
-  requires httpclient;
-  requires spring.beans;
-  requires hadoop.common;
-  requires grok;
-  requires ambari.logsearch.appender;
-  requires curator.recipes;
-  requires curator.framework;
-  requires ambari.metrics.common;
-  requires commons.csv;
-  requires kafka.clients;
-  requires org.apache.commons.compress;
-  requires ant;
-  requires jackson.mapper.asl;
-  requires jackson.core.asl;
-  requires minio;
-
-}
\ No newline at end of file


[ambari] 06/12: Get rid of AWS sdk

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit df10aa765d8a2b7cc433023200885aa79d3deb3d
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Sun Sep 23 16:00:24 2018 +0200

    Get rid of AWS sdk
---
 .../model/inputconfig/InputS3FileDescriptor.java   |  3 +
 .../impl/InputS3FileDescriptorImpl.java            | 18 ++++
 .../ambari-logsearch-logfeeder/pom.xml             | 11 +--
 .../apache/ambari/logfeeder/input/InputS3File.java |  7 +-
 .../ambari/logfeeder/output/OutputS3File.java      |  4 +-
 .../logfeeder/output/S3OutputConfiguration.java    | 10 ++-
 .../apache/ambari/logfeeder/output/S3Uploader.java | 18 +---
 .../org/apache/ambari/logfeeder/util/S3Util.java   | 95 ++++++++++------------
 .../model/common/LSServerInputS3File.java          | 12 +++
 9 files changed, 99 insertions(+), 79 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputS3FileDescriptor.java b/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputS3FileDescriptor.java
index b075629..9886793 100644
--- a/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputS3FileDescriptor.java
+++ b/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputS3FileDescriptor.java
@@ -20,6 +20,9 @@
 package org.apache.ambari.logsearch.config.api.model.inputconfig;
 
 public interface InputS3FileDescriptor extends InputFileBaseDescriptor {
+
+  String getS3Endpoint();
+
   String getS3AccessKey();
 
   String getS3SecretKey();
diff --git a/ambari-logsearch/ambari-logsearch-config-json/src/main/java/org/apache/ambari/logsearch/config/json/model/inputconfig/impl/InputS3FileDescriptorImpl.java b/ambari-logsearch/ambari-logsearch-config-json/src/main/java/org/apache/ambari/logsearch/config/json/model/inputconfig/impl/InputS3FileDescriptorImpl.java
index 527dae8..5d2c19c 100644
--- a/ambari-logsearch/ambari-logsearch-config-json/src/main/java/org/apache/ambari/logsearch/config/json/model/inputconfig/impl/InputS3FileDescriptorImpl.java
+++ b/ambari-logsearch/ambari-logsearch-config-json/src/main/java/org/apache/ambari/logsearch/config/json/model/inputconfig/impl/InputS3FileDescriptorImpl.java
@@ -49,6 +49,15 @@ public class InputS3FileDescriptorImpl extends InputFileBaseDescriptorImpl imple
   @SerializedName("s3_secret_key")
   private String s3SecretKey;
 
+  @ShipperConfigElementDescription(
+    path = "/input/[]/s3_endpoint",
+    type = "string",
+    description = "Endpoint URL for S3."
+  )
+  @Expose
+  @SerializedName("s3_endpoint")
+  private String s3Endpoint;
+
   @Override
   public String getS3AccessKey() {
     return s3AccessKey;
@@ -66,4 +75,13 @@ public class InputS3FileDescriptorImpl extends InputFileBaseDescriptorImpl imple
   public void setS3SecretKey(String s3SecretKey) {
     this.s3SecretKey = s3SecretKey;
   }
+
+  @Override
+  public String getS3Endpoint() {
+    return s3Endpoint;
+  }
+
+  public void setS3Endpoint(String s3Endpoint) {
+    this.s3Endpoint = s3Endpoint;
+  }
 }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
index bdf3928..6dd3905 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
@@ -145,14 +145,9 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.amazonaws</groupId>
-      <artifactId>aws-java-sdk-core</artifactId>
-      <version>1.11.412</version>
-    </dependency>
-    <dependency>
-      <groupId>com.amazonaws</groupId>
-      <artifactId>aws-java-sdk-s3</artifactId>
-      <version>1.11.412</version>
+      <groupId>io.minio</groupId>
+      <artifactId>minio</artifactId>
+      <version>5.0.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputS3File.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputS3File.java
index 274183c..c4d5fb9 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputS3File.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputS3File.java
@@ -18,6 +18,7 @@
  */
 package org.apache.ambari.logfeeder.input;
 
+import org.apache.ambari.logfeeder.output.S3OutputConfiguration;
 import org.apache.ambari.logfeeder.util.S3Util;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.InputS3FileDescriptor;
 import org.apache.commons.lang.ArrayUtils;
@@ -82,7 +83,11 @@ public class InputS3File extends InputFile {
   public BufferedReader openLogFile(File logPathFile) throws Exception {
     String s3AccessKey = ((InputS3FileDescriptor)getInputDescriptor()).getS3AccessKey();
     String s3SecretKey = ((InputS3FileDescriptor)getInputDescriptor()).getS3SecretKey();
-    BufferedReader br = S3Util.getReader(logPathFile.getPath(), s3AccessKey, s3SecretKey);
+    String s3Endpoint = ((InputS3FileDescriptor)getInputDescriptor()).getS3Endpoint();
+    if (s3Endpoint == null) {
+      s3Endpoint = S3OutputConfiguration.DEFAULT_S3_ENDPOINT;
+    }
+    BufferedReader br = S3Util.getReader(logPathFile.getPath(), s3Endpoint, s3AccessKey, s3SecretKey);
     Object fileKey = getFileKey(logPathFile);
     setFileKey(fileKey);
     String base64FileKey = Base64.byteArrayToBase64(getFileKey().toString().getBytes());
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputS3File.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputS3File.java
index fb13010..38a2937 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputS3File.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputS3File.java
@@ -130,8 +130,8 @@ public class OutputS3File extends OutputFile implements RolloverCondition, Rollo
     String s3ResolvedKey = new S3LogPathResolver().getResolvedPath(getStringValue("s3_config_dir"), s3KeySuffix,
         s3OutputConfiguration.getCluster());
 
-    S3Util.writeIntoS3File(configJson, s3OutputConfiguration.getS3BucketName(), s3ResolvedKey,
-        s3OutputConfiguration.getS3AccessKey(), s3OutputConfiguration.getS3SecretKey());
+    S3Util.writeDataIntoS3File(configJson, s3OutputConfiguration.getS3BucketName(), s3ResolvedKey,
+      s3OutputConfiguration.getS3Endpoint(), s3OutputConfiguration.getS3AccessKey(), s3OutputConfiguration.getS3SecretKey());
   }
 
   private String getComponentConfigFileName(String componentName) {
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3OutputConfiguration.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3OutputConfiguration.java
index a2d7692..293f011 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3OutputConfiguration.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3OutputConfiguration.java
@@ -37,6 +37,8 @@ public class S3OutputConfiguration {
   public static final String S3_LOG_DIR_KEY = "s3_log_dir";
   public static final String S3_ACCESS_KEY = "s3_access_key";
   public static final String S3_SECRET_KEY = "s3_secret_key";
+  public static final String S3_ENDPOINT = "s3_endpoint";
+  public static final String DEFAULT_S3_ENDPOINT = "https://s3.amazonaws.com";
   public static final String COMPRESSION_ALGO_KEY = "compression_algo";
   public static final String ADDITIONAL_FIELDS_KEY = "add_fields";
   public static final String CLUSTER_KEY = "cluster";
@@ -51,6 +53,10 @@ public class S3OutputConfiguration {
     return (String) configs.get(S3_BUCKET_NAME_KEY);
   }
 
+  public String getS3Endpoint() {
+    return (String) configs.getOrDefault(S3_ENDPOINT, DEFAULT_S3_ENDPOINT);
+  }
+
   public String getS3Path() {
     return (String) configs.get(S3_LOG_DIR_KEY);
   }
@@ -84,7 +90,7 @@ public class S3OutputConfiguration {
     Map<String, Object> configs = new HashMap<>();
     String[] stringValuedKeysToCopy = new String[] {
         SPOOL_DIR_KEY, S3_BUCKET_NAME_KEY, S3_LOG_DIR_KEY,
-        S3_ACCESS_KEY, S3_SECRET_KEY, COMPRESSION_ALGO_KEY
+        S3_ACCESS_KEY, S3_SECRET_KEY, COMPRESSION_ALGO_KEY, S3_ENDPOINT
     };
 
     for (String key : stringValuedKeysToCopy) {
@@ -108,6 +114,8 @@ public class S3OutputConfiguration {
 
     configs.put(ADDITIONAL_FIELDS_KEY, configItem.getNVList(ADDITIONAL_FIELDS_KEY));
 
+    configs.putIfAbsent(S3_ENDPOINT, DEFAULT_S3_ENDPOINT);
+
     return new S3OutputConfiguration(configs);
   }
 }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java
index bbd0cef..9e0f8b8 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java
@@ -18,8 +18,6 @@
 
 package org.apache.ambari.logfeeder.output;
 
-import com.amazonaws.services.s3.transfer.TransferManager;
-import com.amazonaws.services.s3.transfer.Upload;
 import com.google.common.annotations.VisibleForTesting;
 import org.apache.ambari.logfeeder.common.LogFeederConstants;
 import org.apache.ambari.logfeeder.util.CompressionUtil;
@@ -129,6 +127,7 @@ public class S3Uploader implements Runnable {
     String s3AccessKey = s3OutputConfiguration.getS3AccessKey();
     String s3SecretKey = s3OutputConfiguration.getS3SecretKey();
     String compressionAlgo = s3OutputConfiguration.getCompressionAlgo();
+    String s3Endpoint = s3OutputConfiguration.getS3Endpoint();
 
     String keySuffix = fileToUpload.getName() + "." + compressionAlgo;
     String s3Path = new S3LogPathResolver().getResolvedPath(
@@ -138,7 +137,7 @@ public class S3Uploader implements Runnable {
     File sourceFile = createCompressedFileForUpload(fileToUpload, compressionAlgo);
 
     logger.info("Starting S3 upload " + sourceFile + " -> " + bucketName + ", " + s3Path);
-    uploadFileToS3(bucketName, s3Path, sourceFile, s3AccessKey, s3SecretKey);
+    S3Util.writeFileIntoS3File(sourceFile.getAbsolutePath(), bucketName, s3Path, s3Endpoint, s3AccessKey, s3SecretKey);
 
     // delete local compressed file
     sourceFile.delete();
@@ -152,19 +151,6 @@ public class S3Uploader implements Runnable {
   }
 
   @VisibleForTesting
-  protected void uploadFileToS3(String bucketName, String s3Key, File localFile, String accessKey, String secretKey) {
-    TransferManager transferManager = S3Util.getTransferManager(accessKey, secretKey);
-    try {
-      Upload upload = transferManager.upload(bucketName, s3Key, localFile);
-      upload.waitForUploadResult();
-    } catch (InterruptedException e) {
-      logger.error("s3 uploading failed for file :" + localFile.getAbsolutePath(), e);
-    } finally {
-      S3Util.shutdownTransferManager(transferManager);
-    }
-  }
-
-  @VisibleForTesting
   protected File createCompressedFileForUpload(File fileToUpload, String compressionAlgo) {
     File outputFile = new File(fileToUpload.getParent(), fileToUpload.getName() + "_" + new Date().getTime() +
         "." + compressionAlgo);
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java
index aa3aa4c..632594b 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java
@@ -19,23 +19,18 @@
 package org.apache.ambari.logfeeder.util;
 
 import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.ByteArrayInputStream;
 import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.zip.GZIPInputStream;
 
-import com.amazonaws.services.s3.AmazonS3ClientBuilder;
+import io.minio.MinioClient;
+import io.minio.errors.InvalidEndpointException;
+import io.minio.errors.InvalidPortException;
 import org.apache.ambari.logfeeder.common.LogFeederConstants;
-import org.apache.commons.io.IOUtils;
 
-import com.amazonaws.services.s3.AmazonS3;
-import com.amazonaws.services.s3.model.GetObjectRequest;
-import com.amazonaws.services.s3.model.ObjectMetadata;
-import com.amazonaws.services.s3.model.PutObjectRequest;
-import com.amazonaws.services.s3.model.S3Object;
-import com.amazonaws.services.s3.transfer.TransferManager;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -49,19 +44,8 @@ public class S3Util {
     throw new UnsupportedOperationException();
   }
   
-  public static AmazonS3 getS3Client(String accessKey, String secretKey) {
-    AmazonS3 s3client = AmazonS3ClientBuilder.defaultClient();
-    return AmazonS3ClientBuilder.defaultClient();
-  }
-
-  public static TransferManager getTransferManager(String accessKey, String secretKey) {
-    return new TransferManager();
-  }
-
-  public static void shutdownTransferManager(TransferManager transferManager) {
-    if (transferManager != null) {
-      transferManager.shutdownNow();
-    }
+  public static MinioClient getS3Client(String endpoint, String accessKey, String secretKey) throws InvalidPortException, InvalidEndpointException {
+    return new MinioClient(endpoint, accessKey, secretKey);
   }
 
   public static String getBucketName(String s3Path) {
@@ -93,49 +77,58 @@ public class S3Util {
   /**
    * Get the buffer reader to read s3 file as a stream
    */
-  public static BufferedReader getReader(String s3Path, String accessKey, String secretKey) throws IOException {
+  public static BufferedReader getReader(String s3Path, String s3Endpoint, String accessKey, String secretKey) throws Exception {
     // TODO error handling
     // Compression support
     // read header and decide the compression(auto detection)
     // For now hard-code GZIP compression
     String s3Bucket = getBucketName(s3Path);
     String s3Key = getS3Key(s3Path);
-    S3Object fileObj = getS3Client(accessKey, secretKey).getObject(new GetObjectRequest(s3Bucket, s3Key));
+    GZIPInputStream objectInputStream = null;
+    InputStreamReader inputStreamReader = null;
+    BufferedReader bufferedReader = null;
     try {
-      GZIPInputStream objectInputStream = new GZIPInputStream(fileObj.getObjectContent());
-      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(objectInputStream));
+      MinioClient s3Client = getS3Client(s3Endpoint, accessKey, secretKey);
+      s3Client.statObject(s3Bucket, s3Key);
+      objectInputStream = new GZIPInputStream(s3Client.getObject(s3Bucket, s3Key));
+      inputStreamReader = new InputStreamReader(objectInputStream);
+      bufferedReader = new BufferedReader(inputStreamReader);
       return bufferedReader;
-    } catch (IOException e) {
+    } catch (Exception e) {
       logger.error("Error in creating stream reader for s3 file :" + s3Path, e.getCause());
       throw e;
+    } finally {
+      try {
+        if (inputStreamReader != null) {
+          inputStreamReader.close();
+        }
+        if (bufferedReader != null) {
+          bufferedReader.close();
+        }
+        if (objectInputStream != null) {
+          objectInputStream.close();
+        }
+      } catch (Exception e) {
+        // do nothing
+      }
     }
   }
 
-  public static void writeIntoS3File(String data, String bucketName, String s3Key, String accessKey, String secretKey) {
-    InputStream in = null;
+  public static void writeFileIntoS3File(String filename, String bucketName, String s3Key, String endpoint, String accessKey, String secretKey) {
     try {
-      in = IOUtils.toInputStream(data, "UTF-8");
-    } catch (IOException e) {
-      logger.error(e);
+      MinioClient s3Client = getS3Client(endpoint, accessKey, secretKey);
+      s3Client.putObject(bucketName, s3Key, filename);
+    } catch (Exception e) {
+      logger.error("Could not write file to s3", e);
     }
-    
-    if (in != null) {
-      TransferManager transferManager = getTransferManager(accessKey, secretKey);
-      try {
-        if (transferManager != null) {
-          transferManager.upload(new PutObjectRequest(bucketName, s3Key, in, new ObjectMetadata())).waitForUploadResult();
-          logger.debug("Data Uploaded to s3 file :" + s3Key + " in bucket :" + bucketName);
-        }
-      } catch (Exception e) {
-        logger.error(e);
-      } finally {
-        try {
-          shutdownTransferManager(transferManager);
-          in.close();
-        } catch (IOException e) {
-          // ignore
-        }
-      }
+  }
+
+  public static void writeDataIntoS3File(String data, String bucketName, String s3Key, String endpoint, String accessKey, String secretKey) {
+    try (ByteArrayInputStream bai = new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8))) {
+      MinioClient s3Client = getS3Client(endpoint, accessKey, secretKey);
+      s3Client.putObject(bucketName, s3Key, bai, bai.available(), "application/octet-stream");
+    } catch (Exception e) {
+      logger.error("Could not write data to s3", e);
     }
   }
 }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/common/LSServerInputS3File.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/common/LSServerInputS3File.java
index 24d25c4..628a940 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/common/LSServerInputS3File.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/common/LSServerInputS3File.java
@@ -37,6 +37,9 @@ public class LSServerInputS3File extends LSServerInputFileBase {
   @NotNull
   @JsonProperty("s3_secret_key")
   private String s3SecretKey;
+
+  @JsonProperty("s3_endpoint")
+  private String s3Endpoint;
   
   public LSServerInputS3File() {}
   
@@ -45,6 +48,7 @@ public class LSServerInputS3File extends LSServerInputFileBase {
     InputS3FileDescriptor inputS3FileDescriptor = (InputS3FileDescriptor)inputDescriptor;
     this.s3AccessKey = inputS3FileDescriptor.getS3AccessKey();
     this.s3SecretKey = inputS3FileDescriptor.getS3SecretKey();
+    this.s3Endpoint = inputS3FileDescriptor.getS3Endpoint();
   }
 
   public String getS3AccessKey() {
@@ -62,4 +66,12 @@ public class LSServerInputS3File extends LSServerInputFileBase {
   public void setS3SecretKey(String s3SecretKey) {
     this.s3SecretKey = s3SecretKey;
   }
+
+  public String getS3Endpoint() {
+    return s3Endpoint;
+  }
+
+  public void setS3Endpoint(String s3Endpoint) {
+    this.s3Endpoint = s3Endpoint;
+  }
 }


[ambari] 08/12: simplify tests

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 8f0a544fd28e987a7febe5517d83c8b23779e01d
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Sun Sep 23 21:01:38 2018 +0200

    simplify tests
---
 .../LogsearchFileAuthenticationProviderTest.java   | 24 +++++++++++-----------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java
index 1027d77..31cf22b 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java
@@ -33,14 +33,14 @@ import org.springframework.security.crypto.password.PasswordEncoder;
 
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertSame;
-import static junit.framework.Assert.assertTrue;
+import static junit.framework.Assert.fail;
 import static org.easymock.EasyMock.strictMock;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.replay;
 import static org.easymock.EasyMock.verify;
 
 import java.lang.reflect.Field;
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 public class LogsearchFileAuthenticationProviderTest {
@@ -90,7 +90,7 @@ public class LogsearchFileAuthenticationProviderTest {
     
     try {
       provider.authenticate(authentication);
-      assertTrue("Should have thrown BadCredentialsException", false);
+      fail("Should have thrown BadCredentialsException");
     } catch(BadCredentialsException e) {
       assertEquals("Username can't be null or empty.", e.getMessage());
     }
@@ -108,7 +108,7 @@ public class LogsearchFileAuthenticationProviderTest {
     
     try {
       provider.authenticate(authentication);
-      assertTrue("Should have thrown BadCredentialsException", false);
+      fail("Should have thrown BadCredentialsException");
     } catch(BadCredentialsException e) {
       assertEquals("Username can't be null or empty.", e.getMessage());
     }
@@ -127,7 +127,7 @@ public class LogsearchFileAuthenticationProviderTest {
     
     try {
       provider.authenticate(authentication);
-      assertTrue("Should have thrown BadCredentialsException", false);
+      fail("Should have thrown BadCredentialsException");
     } catch(BadCredentialsException e) {
       assertEquals("Password can't be null or empty.", e.getMessage());
     }
@@ -145,7 +145,7 @@ public class LogsearchFileAuthenticationProviderTest {
     
     try {
       provider.authenticate(authentication);
-      assertTrue("Should have thrown BadCredentialsException", false);
+      fail("Should have thrown BadCredentialsException");
     } catch(BadCredentialsException e) {
       assertEquals("Password can't be null or empty.", e.getMessage());
     }
@@ -163,7 +163,7 @@ public class LogsearchFileAuthenticationProviderTest {
     Authentication authentication = new TestingAuthenticationToken("principal", "credentials");
     try {
       provider.authenticate(authentication);
-      assertTrue("Should have thrown BadCredentialsException", false);
+      fail("Should have thrown BadCredentialsException");
     } catch (BadCredentialsException e) {
       assertEquals("User not found.", e.getMessage());
     }
@@ -173,7 +173,7 @@ public class LogsearchFileAuthenticationProviderTest {
   
   @Test
   public void testAuthenticationNoPassword() {
-    List<GrantedAuthority> grantedAuths = Arrays.asList(new SimpleGrantedAuthority("ROLE_USER"));
+    List<GrantedAuthority> grantedAuths = Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER"));
     User user = new User("principal", null, grantedAuths);
     
     expect(mockAuthPropsConfig.isAuthFileEnabled()).andReturn(true);
@@ -184,7 +184,7 @@ public class LogsearchFileAuthenticationProviderTest {
     Authentication authentication = new TestingAuthenticationToken("principal", "credentials");
     try {
       provider.authenticate(authentication);
-      assertTrue("Should have thrown BadCredentialsException", false);
+      fail("Should have thrown BadCredentialsException");
     } catch (BadCredentialsException e) {
       assertEquals("Password can't be null or empty.", e.getMessage());
     }
@@ -194,7 +194,7 @@ public class LogsearchFileAuthenticationProviderTest {
   
   @Test
   public void testAuthenticationWrongPassword() {
-    List<GrantedAuthority> grantedAuths = Arrays.<GrantedAuthority>asList(new SimpleGrantedAuthority("ROLE_USER"));
+    List<GrantedAuthority> grantedAuths = Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER"));
     User user = new User("principal", passwordEncoder.encode("notCredentials"), grantedAuths);
     
     expect(mockAuthPropsConfig.isAuthFileEnabled()).andReturn(true);
@@ -205,7 +205,7 @@ public class LogsearchFileAuthenticationProviderTest {
     Authentication authentication = new TestingAuthenticationToken("principal", "credentials");
     try {
       provider.authenticate(authentication);
-      assertTrue("Should have thrown BadCredentialsException", false);
+      fail("Should have thrown BadCredentialsException");
     } catch (BadCredentialsException e) {
       assertEquals("Wrong password.", e.getMessage());
     }
@@ -215,7 +215,7 @@ public class LogsearchFileAuthenticationProviderTest {
   
   @Test
   public void testAuthenticationSuccessful() {
-    List<GrantedAuthority> grantedAuths = Arrays.asList(new SimpleGrantedAuthority("ROLE_USER"));
+    List<GrantedAuthority> grantedAuths = Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER"));
     String encodedPassword = passwordEncoder.encode("credentials");
     User user = new User("principal", encodedPassword, grantedAuths);
     


[ambari] 02/12: refresh compiler versions

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 83060107eb25e67096635ce28db2cb8654572c6c
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Sun Sep 16 02:21:51 2018 +0200

    refresh compiler versions
---
 ambari-logsearch/ambari-logsearch-server/pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-server/pom.xml b/ambari-logsearch/ambari-logsearch-server/pom.xml
index f7f2ba2..86ba721 100755
--- a/ambari-logsearch/ambari-logsearch-server/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-server/pom.xml
@@ -58,7 +58,7 @@
           <plugins>
             <plugin>
               <artifactId>maven-compiler-plugin</artifactId>
-              <version>3.0</version>
+              <version>3.8.0</version>
             </plugin>
             <plugin>
               <artifactId>maven-dependency-plugin</artifactId>
@@ -70,7 +70,7 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
-            <version>3.0</version>
+            <version>3.8.0</version>
             <configuration>
               <source>${jdk.version}</source>
               <target>${jdk.version}</target>


[ambari] 07/12: Fix UTs + logging changes

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 2abe3c7a67986c9cae97612fef23230b047c66f8
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Sun Sep 23 19:28:02 2018 +0200

    Fix UTs + logging changes
---
 .../src/test/resources/log4j.xml                   | 34 --------------
 .../src/test/resources/log4j2-test.xml             | 23 ++++++++++
 .../apache/ambari/logfeeder/output/S3Uploader.java |  8 +++-
 .../org/apache/ambari/logfeeder/util/S3Util.java   |  2 +-
 .../ambari/logfeeder/filter/FilterGrokTest.java    | 10 ----
 .../ambari/logfeeder/filter/FilterJSONTest.java    | 10 ----
 .../logfeeder/filter/FilterKeyValueTest.java       |  9 ----
 .../ambari/logfeeder/input/InputFileTest.java      |  6 ---
 .../logfeeder/mapper/MapperAnonymizeTest.java      |  5 --
 .../ambari/logfeeder/mapper/MapperDateTest.java    |  8 ----
 .../logfeeder/mapper/MapperFieldCopyTest.java      |  4 --
 .../logfeeder/mapper/MapperFieldNameTest.java      |  4 --
 .../logfeeder/mapper/MapperFieldValueTest.java     |  5 --
 .../ambari/logfeeder/output/OutputKafkaTest.java   |  4 --
 .../ambari/logfeeder/output/S3UploaderTest.java    | 15 ++++--
 .../apache/ambari/logfeeder/util/S3UtilTest.java   |  4 ++
 .../src/test/resources/log4j.xml                   | 53 ----------------------
 .../src/test/resources/log4j2-test.xml             | 23 ++++++++++
 .../rest/error/GeneralExceptionMapper.java         |  6 +--
 .../LogsearchFileAuthenticationProviderTest.java   |  6 +--
 .../src/test/resources/log4j2-test.xml             | 23 ++++++++++
 21 files changed, 98 insertions(+), 164 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-config-api/src/test/resources/log4j.xml b/ambari-logsearch/ambari-logsearch-config-api/src/test/resources/log4j.xml
deleted file mode 100644
index 6d968f9..0000000
--- a/ambari-logsearch/ambari-logsearch-config-api/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,34 +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/">
-  <appender name="console" class="org.apache.log4j.ConsoleAppender">
-    <param name="Target" value="System.out" />
-    <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" />
-      <!-- <param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n"/> -->
-    </layout>
-  </appender>
-
-  <root>
-    <priority value="warn" />
-    <appender-ref ref="console" />
-  </root>
-
-</log4j:configuration>
diff --git a/ambari-logsearch/ambari-logsearch-config-api/src/test/resources/log4j2-test.xml b/ambari-logsearch/ambari-logsearch-config-api/src/test/resources/log4j2-test.xml
new file mode 100644
index 0000000..a8694ce
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-config-api/src/test/resources/log4j2-test.xml
@@ -0,0 +1,23 @@
+<?xml version="1.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.
+-->
+<Configuration>
+  <Loggers>
+    <Root level="fatal">
+    </Root>
+  </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java
index 9e0f8b8..4273cc7 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java
@@ -137,7 +137,7 @@ public class S3Uploader implements Runnable {
     File sourceFile = createCompressedFileForUpload(fileToUpload, compressionAlgo);
 
     logger.info("Starting S3 upload " + sourceFile + " -> " + bucketName + ", " + s3Path);
-    S3Util.writeFileIntoS3File(sourceFile.getAbsolutePath(), bucketName, s3Path, s3Endpoint, s3AccessKey, s3SecretKey);
+    writeFileIntoS3File(sourceFile, bucketName, s3Path, s3Endpoint, s3AccessKey, s3SecretKey);
 
     // delete local compressed file
     sourceFile.delete();
@@ -151,6 +151,12 @@ public class S3Uploader implements Runnable {
   }
 
   @VisibleForTesting
+  protected void writeFileIntoS3File(File sourceFile, String bucketName, String s3Path,
+                                     String s3Endpoint, String s3AccessKey, String s3SecretKey) {
+    S3Util.writeFileIntoS3File(sourceFile.getAbsolutePath(), bucketName, s3Path, s3Endpoint, s3AccessKey, s3SecretKey);
+  }
+
+  @VisibleForTesting
   protected File createCompressedFileForUpload(File fileToUpload, String compressionAlgo) {
     File outputFile = new File(fileToUpload.getParent(), fileToUpload.getName() + "_" + new Date().getTime() +
         "." + compressionAlgo);
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java
index 632594b..07b5f4f 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java
@@ -62,7 +62,7 @@ public class S3Util {
     StringBuilder s3Key = new StringBuilder();
     if (s3Path != null) {
       String[] s3PathParts = s3Path.replace(LogFeederConstants.S3_PATH_START_WITH, "").split(LogFeederConstants.S3_PATH_SEPARATOR);
-      ArrayList<String> s3PathList = new ArrayList<String>(Arrays.asList(s3PathParts));
+      ArrayList<String> s3PathList = new ArrayList<>(Arrays.asList(s3PathParts));
       s3PathList.remove(0);// remove bucketName
       for (int index = 0; index < s3PathList.size(); index++) {
         if (index > 0) {
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterGrokTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterGrokTest.java
index 8d3967b..f3d9078 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterGrokTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterGrokTest.java
@@ -26,7 +26,6 @@ import org.apache.ambari.logfeeder.plugin.input.Input;
 import org.apache.ambari.logfeeder.plugin.manager.OutputManager;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.FilterGrokDescriptor;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.FilterGrokDescriptorImpl;
-import org.apache.log4j.Logger;
 import org.easymock.Capture;
 import org.easymock.CaptureType;
 import org.easymock.EasyMock;
@@ -39,7 +38,6 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 public class FilterGrokTest {
-  private static final Logger LOG = Logger.getLogger(FilterGrokTest.class);
 
   private FilterGrok filterGrok;
   private OutputManager mockOutputManager;
@@ -58,8 +56,6 @@ public class FilterGrokTest {
 
   @Test
   public void testFilterGrok_parseMessage() throws Exception {
-    LOG.info("testFilterGrok_parseMessage()");
-
     FilterGrokDescriptorImpl filterGrokDescriptor = new FilterGrokDescriptorImpl();
     filterGrokDescriptor.setMessagePattern("(?m)^%{TIMESTAMP_ISO8601:logtime}%{SPACE}%{LOGLEVEL:level}%{SPACE}%{GREEDYDATA:log_message}");
     filterGrokDescriptor.setMultilinePattern("^(%{TIMESTAMP_ISO8601:logtime})");
@@ -84,8 +80,6 @@ public class FilterGrokTest {
 
   @Test
   public void testFilterGrok_parseMultiLineMessage() throws Exception {
-    LOG.info("testFilterGrok_parseMultiLineMessage()");
-
     FilterGrokDescriptorImpl filterGrokDescriptor = new FilterGrokDescriptorImpl();
     filterGrokDescriptor.setMessagePattern("(?m)^%{TIMESTAMP_ISO8601:logtime}%{SPACE}%{LOGLEVEL:level}%{SPACE}%{GREEDYDATA:log_message}");
     filterGrokDescriptor.setMultilinePattern("^(%{TIMESTAMP_ISO8601:logtime})");
@@ -114,8 +108,6 @@ public class FilterGrokTest {
 
   @Test
   public void testFilterGrok_notMatchingMesagePattern() throws Exception {
-    LOG.info("testFilterGrok_notMatchingMesagePattern()");
-
     FilterGrokDescriptorImpl filterGrokDescriptor = new FilterGrokDescriptorImpl();
     filterGrokDescriptor.setMessagePattern("(?m)^%{TIMESTAMP_ISO8601:logtime}%{SPACE}%{LOGLEVEL:level}%{SPACE}%{GREEDYDATA:log_message}");
     filterGrokDescriptor.setMultilinePattern("^(%{TIMESTAMP_ISO8601:logtime})");
@@ -134,8 +126,6 @@ public class FilterGrokTest {
 
   @Test
   public void testFilterGrok_noMesagePattern() throws Exception {
-    LOG.info("testFilterGrok_noMesagePattern()");
-
     FilterGrokDescriptorImpl filterGrokDescriptor = new FilterGrokDescriptorImpl();
     filterGrokDescriptor.setMultilinePattern("^(%{TIMESTAMP_ISO8601:logtime})");
     init(filterGrokDescriptor);
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterJSONTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterJSONTest.java
index a328eb8..b1b0c55 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterJSONTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterJSONTest.java
@@ -30,7 +30,6 @@ import org.apache.ambari.logfeeder.conf.LogFeederProps;
 import org.apache.ambari.logfeeder.input.InputFileMarker;
 import org.apache.ambari.logfeeder.plugin.manager.OutputManager;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.FilterJsonDescriptorImpl;
-import org.apache.log4j.Logger;
 import org.easymock.Capture;
 import org.easymock.CaptureType;
 import org.easymock.EasyMock;
@@ -42,7 +41,6 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 public class FilterJSONTest {
-  private static final Logger LOG = Logger.getLogger(FilterJSONTest.class);
 
   private FilterJSON filterJson;
   private OutputManager mockOutputManager;
@@ -60,8 +58,6 @@ public class FilterJSONTest {
 
   @Test
   public void testJSONFilterCode_convertFields() throws Exception {
-    LOG.info("testJSONFilterCode_convertFields()");
-
     init(new FilterJsonDescriptorImpl());
 
     mockOutputManager.write(EasyMock.capture(capture), EasyMock.anyObject(InputFileMarker.class));
@@ -85,8 +81,6 @@ public class FilterJSONTest {
 
   @Test
   public void testJSONFilterCode_logTimeOnly() throws Exception {
-    LOG.info("testJSONFilterCode_logTimeOnly()");
-
     init(new FilterJsonDescriptorImpl());
 
     mockOutputManager.write(EasyMock.capture(capture), EasyMock.anyObject(InputFileMarker.class));
@@ -110,8 +104,6 @@ public class FilterJSONTest {
 
   @Test
   public void testJSONFilterCode_lineNumberOnly() throws Exception {
-    LOG.info("testJSONFilterCode_lineNumberOnly()");
-
     init(new FilterJsonDescriptorImpl());
 
     mockOutputManager.write(EasyMock.capture(capture), EasyMock.anyObject(InputFileMarker.class));
@@ -131,8 +123,6 @@ public class FilterJSONTest {
   
   @Test
   public void testJSONFilterCode_invalidJson() throws Exception {
-    LOG.info("testJSONFilterCode_invalidJson()");
-    
     init(new FilterJsonDescriptorImpl());
     
     String inputStr = "invalid json";
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterKeyValueTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterKeyValueTest.java
index efda7e2..bba8d8b 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterKeyValueTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/FilterKeyValueTest.java
@@ -25,7 +25,6 @@ import org.apache.ambari.logfeeder.input.InputFileMarker;
 import org.apache.ambari.logfeeder.plugin.manager.OutputManager;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.FilterKeyValueDescriptor;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.FilterKeyValueDescriptorImpl;
-import org.apache.log4j.Logger;
 import org.easymock.Capture;
 import org.easymock.CaptureType;
 import org.easymock.EasyMock;
@@ -37,7 +36,6 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 public class FilterKeyValueTest {
-  private static final Logger LOG = Logger.getLogger(FilterKeyValueTest.class);
 
   private FilterKeyValue filterKeyValue;
   private OutputManager mockOutputManager;
@@ -55,8 +53,6 @@ public class FilterKeyValueTest {
 
   @Test
   public void testFilterKeyValue_extraction() throws Exception {
-    LOG.info("testFilterKeyValue_extraction()");
-
     FilterKeyValueDescriptorImpl filterKeyValueDescriptor = new FilterKeyValueDescriptorImpl();
     filterKeyValueDescriptor.setSourceField("keyValueField");
     filterKeyValueDescriptor.setFieldSplit("&");
@@ -79,8 +75,6 @@ public class FilterKeyValueTest {
 
   @Test
   public void testFilterKeyValue_extractionWithBorders() throws Exception {
-    LOG.info("testFilterKeyValue_extractionWithBorders()");
-
     FilterKeyValueDescriptorImpl filterKeyValueDescriptor = new FilterKeyValueDescriptorImpl();
     filterKeyValueDescriptor.setSourceField("keyValueField");
     filterKeyValueDescriptor.setFieldSplit("&");
@@ -104,8 +98,6 @@ public class FilterKeyValueTest {
 
   @Test
   public void testFilterKeyValue_missingSourceField() throws Exception {
-    LOG.info("testFilterKeyValue_missingSourceField()");
-
     FilterKeyValueDescriptorImpl filterKeyValueDescriptor = new FilterKeyValueDescriptorImpl();
     filterKeyValueDescriptor.setFieldSplit("&");
     init(filterKeyValueDescriptor);
@@ -122,7 +114,6 @@ public class FilterKeyValueTest {
 
   @Test
   public void testFilterKeyValue_noSourceFieldPresent() throws Exception {
-    LOG.info("testFilterKeyValue_noSourceFieldPresent()");
 
     FilterKeyValueDescriptorImpl filterKeyValueDescriptor = new FilterKeyValueDescriptorImpl();
     filterKeyValueDescriptor.setSourceField("keyValueField");
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/input/InputFileTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/input/InputFileTest.java
index 0a95342..02d141f 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/input/InputFileTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/input/InputFileTest.java
@@ -33,7 +33,6 @@ import org.apache.ambari.logfeeder.plugin.manager.CheckpointManager;
 import org.apache.ambari.logfeeder.plugin.manager.InputManager;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputFileDescriptorImpl;
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
 import org.easymock.EasyMock;
 import org.junit.After;
 import org.junit.AfterClass;
@@ -46,7 +45,6 @@ import org.junit.rules.ExpectedException;
 import static org.junit.Assert.assertEquals;
 
 public class InputFileTest {
-  private static final Logger LOG = Logger.getLogger(InputFileTest.class);
 
   private static final String TEST_DIR_NAME = "/logfeeder_test_dir/";
   private static final File TEST_DIR = new File(FileUtils.getTempDirectoryPath() + TEST_DIR_NAME);
@@ -133,8 +131,6 @@ public class InputFileTest {
 
   @Test
   public void testInputFile_process3Rows() throws Exception {
-    LOG.info("testInputFile_process3Rows()");
-
     File testFile = createFile("process3.log");
 
     init(testFile.getAbsolutePath());
@@ -157,8 +153,6 @@ public class InputFileTest {
 
   @Test
   public void testInputFile_noLogPath() throws Exception {
-    LOG.info("testInputFile_noLogPath()");
-
     expectedException.expect(NullPointerException.class);
 
     init(null);
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperAnonymizeTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperAnonymizeTest.java
index c22f312..7953615 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperAnonymizeTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperAnonymizeTest.java
@@ -22,7 +22,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.MapAnonymizeDescriptorImpl;
-import org.apache.log4j.Logger;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -30,11 +29,9 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 public class MapperAnonymizeTest {
-  private static final Logger LOG = Logger.getLogger(MapperAnonymizeTest.class);
 
   @Test
   public void testMapperAnonymize_anonymize() {
-    LOG.info("testMapperAnonymize_anonymize()");
 
     MapAnonymizeDescriptorImpl mapAnonymizeDescriptorImpl = new MapAnonymizeDescriptorImpl();
     mapAnonymizeDescriptorImpl.setPattern("secret <hide> / <hide> is here");
@@ -51,7 +48,6 @@ public class MapperAnonymizeTest {
 
   @Test
   public void testMapperAnonymize_anonymize2() {
-    LOG.info("testMapperAnonymize_anonymize2()");
 
     MapAnonymizeDescriptorImpl mapAnonymizeDescriptorImpl = new MapAnonymizeDescriptorImpl();
     mapAnonymizeDescriptorImpl.setPattern("<hide> / <hide> is the secret");
@@ -69,7 +65,6 @@ public class MapperAnonymizeTest {
 
   @Test
   public void testMapperAnonymize_noPattern() {
-    LOG.info("testMapperAnonymize_noPattern()");
 
     MapAnonymizeDescriptorImpl mapAnonymizeDescriptorImpl = new MapAnonymizeDescriptorImpl();
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperDateTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperDateTest.java
index 5e94996..d0643ea 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperDateTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperDateTest.java
@@ -27,7 +27,6 @@ import java.util.Map;
 import org.apache.ambari.logfeeder.common.LogFeederConstants;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.MapDateDescriptorImpl;
 import org.apache.commons.lang3.time.DateUtils;
-import org.apache.log4j.Logger;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -35,11 +34,9 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 public class MapperDateTest {
-  private static final Logger LOG = Logger.getLogger(MapperDateTest.class);
 
   @Test
   public void testMapperDate_epoch() {
-    LOG.info("testMapperDate_epoch()");
 
     MapDateDescriptorImpl mapDateDescriptor = new MapDateDescriptorImpl();
     mapDateDescriptor.setTargetDatePattern("epoch");
@@ -60,7 +57,6 @@ public class MapperDateTest {
 
   @Test
   public void testMapperDate_pattern() throws Exception {
-    LOG.info("testMapperDate_pattern()");
 
     MapDateDescriptorImpl mapDateDescriptor = new MapDateDescriptorImpl();
     mapDateDescriptor.setTargetDatePattern("yyyy-MM-dd HH:mm:ss.SSS");
@@ -82,7 +78,6 @@ public class MapperDateTest {
 
   @Test
   public void testMapperDate_noDatePattern() {
-    LOG.info("testMapperDate_noDatePattern()");
 
     MapDateDescriptorImpl mapDateDescriptor = new MapDateDescriptorImpl();
 
@@ -92,7 +87,6 @@ public class MapperDateTest {
 
   @Test
   public void testMapperDate_notParsableDatePattern() {
-    LOG.info("testMapperDate_notParsableDatePattern()");
 
     MapDateDescriptorImpl mapDateDescriptor = new MapDateDescriptorImpl();
     mapDateDescriptor.setTargetDatePattern("not_parsable_content");
@@ -103,7 +97,6 @@ public class MapperDateTest {
 
   @Test
   public void testMapperDate_invalidEpochValue() {
-    LOG.info("testMapperDate_invalidEpochValue()");
 
     MapDateDescriptorImpl mapDateDescriptor = new MapDateDescriptorImpl();
     mapDateDescriptor.setTargetDatePattern("epoch");
@@ -121,7 +114,6 @@ public class MapperDateTest {
 
   @Test
   public void testMapperDate_invalidDateStringValue() {
-    LOG.info("testMapperDate_invalidDateStringValue()");
 
     MapDateDescriptorImpl mapDateDescriptor = new MapDateDescriptorImpl();
     mapDateDescriptor.setTargetDatePattern("yyyy-MM-dd HH:mm:ss.SSS");
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldCopyTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldCopyTest.java
index 5c6cc93..32c8b99 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldCopyTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldCopyTest.java
@@ -22,7 +22,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.MapFieldCopyDescriptorImpl;
-import org.apache.log4j.Logger;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -30,11 +29,9 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 public class MapperFieldCopyTest {
-  private static final Logger LOG = Logger.getLogger(MapperFieldCopyTest.class);
 
   @Test
   public void testMapperFieldCopy_copyField() {
-    LOG.info("testMapperFieldCopy_copyField()");
 
     MapFieldCopyDescriptorImpl mapFieldCopyDescriptor = new MapFieldCopyDescriptorImpl();
     mapFieldCopyDescriptor.setCopyName("someOtherField");
@@ -54,7 +51,6 @@ public class MapperFieldCopyTest {
 
   @Test
   public void testMapperFieldCopy_noNewFieldName() {
-    LOG.info("testMapperFieldCopy_noNewFieldName()");
 
     MapFieldCopyDescriptorImpl mapFieldCopyDescriptor = new MapFieldCopyDescriptorImpl();
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldNameTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldNameTest.java
index f74c9f8..b1dbd4d 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldNameTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldNameTest.java
@@ -22,7 +22,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.MapFieldNameDescriptorImpl;
-import org.apache.log4j.Logger;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -30,11 +29,9 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 public class MapperFieldNameTest {
-  private static final Logger LOG = Logger.getLogger(MapperFieldNameTest.class);
 
   @Test
   public void testMapperFieldName_replaceField() {
-    LOG.info("testMapperFieldName_replaceField()");
 
     MapFieldNameDescriptorImpl mapFieldNameDescriptor = new MapFieldNameDescriptorImpl();
     mapFieldNameDescriptor.setNewFieldName("someOtherField");
@@ -54,7 +51,6 @@ public class MapperFieldNameTest {
 
   @Test
   public void testMapperFieldName_noNewFieldName() {
-    LOG.info("testMapperFieldName_noNewFieldName()");
 
     MapFieldNameDescriptorImpl mapFieldNameDescriptor = new MapFieldNameDescriptorImpl();
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldValueTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldValueTest.java
index 92befa9..1c82a1e 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldValueTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/mapper/MapperFieldValueTest.java
@@ -22,7 +22,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.MapFieldValueDescriptorImpl;
-import org.apache.log4j.Logger;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -30,11 +29,9 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 public class MapperFieldValueTest {
-  private static final Logger LOG = Logger.getLogger(MapperFieldValueTest.class);
 
   @Test
   public void testMapperFieldValue_replaceValue() {
-    LOG.info("testMapperFieldValue_replaceValue()");
 
     MapFieldValueDescriptorImpl mapFieldValueDescriptor = new MapFieldValueDescriptorImpl();
     mapFieldValueDescriptor.setPreValue("someValue");
@@ -54,7 +51,6 @@ public class MapperFieldValueTest {
 
   @Test
   public void testMapperFieldValue_noPostValue() {
-    LOG.info("testMapperFieldValue_noPostValue()");
 
     MapFieldValueDescriptorImpl mapFieldValueDescriptor = new MapFieldValueDescriptorImpl();
 
@@ -64,7 +60,6 @@ public class MapperFieldValueTest {
 
   @Test
   public void testMapperFieldValue_noPreValueFound() {
-    LOG.info("testMapperFieldValue_noPreValueFound()");
 
     MapFieldValueDescriptorImpl mapFieldValueDescriptor = new MapFieldValueDescriptorImpl();
     mapFieldValueDescriptor.setPreValue("someValue");
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputKafkaTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputKafkaTest.java
index 1623738..ad8c225 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputKafkaTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputKafkaTest.java
@@ -39,7 +39,6 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 public class OutputKafkaTest {
-  private static final Logger LOG = Logger.getLogger(OutputKafkaTest.class);
 
   private static final String TEST_TOPIC = "test topic";
 
@@ -63,7 +62,6 @@ public class OutputKafkaTest {
 
   @Test
   public void testOutputKafka_uploadData() throws Exception {
-    LOG.info("testOutputKafka_uploadData()");
 
     Map<String, Object> config = new HashMap<String, Object>();
     config.put("broker_list", "some broker list");
@@ -95,7 +93,6 @@ public class OutputKafkaTest {
 
   @Test
   public void testOutputKafka_noBrokerList() throws Exception {
-    LOG.info("testOutputKafka_noBrokerList()");
 
     expectedException.expect(Exception.class);
     expectedException.expectMessage("For kafka output, bootstrap broker_list is needed");
@@ -109,7 +106,6 @@ public class OutputKafkaTest {
 
   @Test
   public void testOutputKafka_noTopic() throws Exception {
-    LOG.info("testOutputKafka_noBrokerList()");
 
     expectedException.expect(Exception.class);
     expectedException.expectMessage("For kafka output, topic is needed");
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/S3UploaderTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/S3UploaderTest.java
index 5477f5c..8c61914 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/S3UploaderTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/S3UploaderTest.java
@@ -45,6 +45,7 @@ public class S3UploaderTest {
     Map<String, Object> configs = setupS3Configs();
 
     S3OutputConfiguration s3OutputConfiguration = new S3OutputConfiguration(configs);
+    expect(compressedFile.getAbsolutePath()).andReturn(TEST_BUCKET + "/" + LOG_TYPE + "/" +fileName);
     expect(compressedFile.delete()).andReturn(true);
     expect(fileToUpload.delete()).andReturn(true);
     replay(fileToUpload, compressedFile);
@@ -54,7 +55,8 @@ public class S3UploaderTest {
       protected File createCompressedFileForUpload(File fileToUpload, String compressionAlgo) {
         return compressedFile;
       }
-      protected void uploadFileToS3(String bucketName, String s3Key, File localFile, String accessKey, String secretKey) {
+      @Override
+      protected void writeFileIntoS3File(File sourceFile, String bucketName, String s3Path, String s3Endpoint, String s3AccessKey, String s3SecretKey) {
       }
     };
     String resolvedPath = s3Uploader.uploadFile(fileToUpload, LOG_TYPE);
@@ -80,7 +82,9 @@ public class S3UploaderTest {
       protected File createCompressedFileForUpload(File fileToUpload, String compressionAlgo) {
         return compressedFile;
       }
-      protected void uploadFileToS3(String bucketName, String s3Key, File localFile, String accessKey, String secretKey) {
+
+      @Override
+      protected void writeFileIntoS3File(File sourceFile, String bucketName, String s3Path, String s3Endpoint, String s3AccessKey, String s3SecretKey) {
       }
     };
     s3Uploader.uploadFile(fileToUpload, LOG_TYPE);
@@ -106,7 +110,8 @@ public class S3UploaderTest {
       protected File createCompressedFileForUpload(File fileToUpload, String compressionAlgo) {
         return compressedFile;
       }
-      protected void uploadFileToS3(String bucketName, String s3Key, File localFile, String accessKey, String secretKey) {
+      @Override
+      protected void writeFileIntoS3File(File sourceFile, String bucketName, String s3Path, String s3Endpoint, String s3AccessKey, String s3SecretKey) {
       }
     };
     s3Uploader.uploadFile(fileToUpload, LOG_TYPE);
@@ -128,6 +133,7 @@ public class S3UploaderTest {
     S3OutputConfiguration s3OutputConfiguration = new S3OutputConfiguration(configs);
     expect(compressedFile.delete()).andReturn(true);
     expect(fileToUpload.delete()).andReturn(true);
+    expect(compressedFile.getAbsolutePath()).andReturn(TEST_BUCKET + "/" + LOG_TYPE + "/" +fileName);
     replay(fileToUpload, compressedFile);
 
     S3Uploader s3Uploader = new S3Uploader(s3OutputConfiguration, true, LOG_TYPE) {
@@ -135,7 +141,8 @@ public class S3UploaderTest {
       protected File createCompressedFileForUpload(File fileToUpload, String compressionAlgo) {
         return compressedFile;
       }
-      protected void uploadFileToS3(String bucketName, String s3Key, File localFile, String accessKey, String secretKey) {
+      @Override
+      protected void writeFileIntoS3File(File sourceFile, String bucketName, String s3Path, String s3Endpoint, String s3AccessKey, String s3SecretKey) {
       }
     };
     s3Uploader.uploadFile(fileToUpload, LOG_TYPE);
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/util/S3UtilTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/util/S3UtilTest.java
index 02918be..51c34a2 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/util/S3UtilTest.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/util/S3UtilTest.java
@@ -21,8 +21,11 @@ package org.apache.ambari.logfeeder.util;
 import static org.junit.Assert.assertEquals;
 
 import org.apache.ambari.logfeeder.util.S3Util;
+import org.junit.Test;
 
 public class S3UtilTest {
+
+  @Test
   public void testS3Util_pathToBucketName() throws Exception {
     String s3Path = "s3://bucket_name/path/file.txt";
     String expectedBucketName = "bucket_name";
@@ -30,6 +33,7 @@ public class S3UtilTest {
     assertEquals(expectedBucketName, actualBucketName);
   }
 
+  @Test
   public void testS3Util_pathToS3Key() throws Exception {
     String s3Path = "s3://bucket_name/path/file.txt";
     String expectedS3key = "path/file.txt";
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/resources/log4j.xml b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/resources/log4j.xml
deleted file mode 100644
index 1d28fcc..0000000
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,53 +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 "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-  <appender name="console" class="org.apache.log4j.ConsoleAppender">
-    <param name="Target" value="System.out" />
-    <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" />
-      <!-- <param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n"/> -->
-    </layout>
-  </appender>
-
-  <!-- Logs to suppress BEGIN -->
-  <category name="org.apache.solr.common.cloud.ZkStateReader" additivity="false">
-    <priority value="error" />
-    <appender-ref ref="console" />
-  </category>
-
-  <category name="apache.solr.client.solrj.impl.CloudSolrClient" additivity="false">
-    <priority value="fatal" />
-    <appender-ref ref="console" />
-  </category>
-  <!-- Logs to suppress END -->
-
-  <category name="org.apache.ambari.logfeeder" additivity="false">
-    <priority value="info" />
-    <appender-ref ref="console" /> 
-    <!-- <appender-ref ref="daily_rolling_file" /> -->
-  </category>
-
-  <root>
-    <priority value="warn" />
-    <!-- <appender-ref ref="console" /> -->
-    <!-- <appender-ref ref="daily_rolling_file" /> -->
-  </root>
- 
-</log4j:configuration>  
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/resources/log4j2-test.xml b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/resources/log4j2-test.xml
new file mode 100644
index 0000000..a8694ce
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/resources/log4j2-test.xml
@@ -0,0 +1,23 @@
+<?xml version="1.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.
+-->
+<Configuration>
+  <Loggers>
+    <Root level="fatal">
+    </Root>
+  </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/error/GeneralExceptionMapper.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/error/GeneralExceptionMapper.java
index 81f13fd..703dbad 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/error/GeneralExceptionMapper.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/error/GeneralExceptionMapper.java
@@ -36,8 +36,8 @@ import org.apache.ambari.logsearch.common.StatusMessage;
 import org.apache.ambari.logsearch.manager.AlreadyExistsException;
 import org.apache.ambari.logsearch.manager.MalformedInputException;
 import org.apache.ambari.logsearch.manager.NotFoundException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.web.bind.MethodArgumentNotValidException;
 
 import com.fasterxml.jackson.core.JsonParseException;
@@ -48,7 +48,7 @@ import com.google.common.collect.Maps;
 @Named
 @Provider
 public class GeneralExceptionMapper implements ExceptionMapper<Exception> {
-  private static final Logger LOG = LoggerFactory.getLogger(GeneralExceptionMapper.class);
+  private static final Logger LOG = LogManager.getLogger(GeneralExceptionMapper.class);
   static final String INTERNAL_SERVER_ERROR_MESSAGE = "Something went wrong, For more details check the logs or configuration.";
 
   private static final Map<Class<? extends Exception>, Response.Status> exceptionStatusCodeMap = Maps.newHashMap();
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java
index 0c3ed29..1027d77 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java
@@ -173,7 +173,7 @@ public class LogsearchFileAuthenticationProviderTest {
   
   @Test
   public void testAuthenticationNoPassword() {
-    List<GrantedAuthority> grantedAuths = Arrays.<GrantedAuthority>asList(new SimpleGrantedAuthority("ROLE_USER"));
+    List<GrantedAuthority> grantedAuths = Arrays.asList(new SimpleGrantedAuthority("ROLE_USER"));
     User user = new User("principal", null, grantedAuths);
     
     expect(mockAuthPropsConfig.isAuthFileEnabled()).andReturn(true);
@@ -215,9 +215,9 @@ public class LogsearchFileAuthenticationProviderTest {
   
   @Test
   public void testAuthenticationSuccessful() {
-    List<GrantedAuthority> grantedAuths = Arrays.<GrantedAuthority>asList(new SimpleGrantedAuthority("ROLE_USER"));
+    List<GrantedAuthority> grantedAuths = Arrays.asList(new SimpleGrantedAuthority("ROLE_USER"));
     String encodedPassword = passwordEncoder.encode("credentials");
-    User user = new User("principal", "credentials", grantedAuths);
+    User user = new User("principal", encodedPassword, grantedAuths);
     
     expect(mockAuthPropsConfig.isAuthFileEnabled()).andReturn(true);
     expect(mockUserDetailsService.loadUserByUsername("principal")).andReturn(user);
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/resources/log4j2-test.xml b/ambari-logsearch/ambari-logsearch-server/src/test/resources/log4j2-test.xml
new file mode 100644
index 0000000..a8694ce
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/resources/log4j2-test.xml
@@ -0,0 +1,23 @@
+<?xml version="1.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.
+-->
+<Configuration>
+  <Loggers>
+    <Root level="fatal">
+    </Root>
+  </Loggers>
+</Configuration>
\ No newline at end of file


[ambari] 09/12: add simple modules + create profiles

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit bca5a96282376024d551e45498b8ec18647fd2a6
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Sun Sep 23 21:56:12 2018 +0200

    add simple modules + create profiles
---
 .../src/main/java/module-info.java                 | 23 +++++++
 .../src/main/java/module-info.java                 | 24 ++++++++
 .../src/main/java/module-info.java                 | 24 ++++++++
 .../src/main/java/module-info.java                 | 25 ++++++++
 .../src/main/java/module-info.java                 | 25 ++++++++
 .../src/main/java/module-info.java                 | 32 ++++++++++
 .../src/main/java/module-info.java                 | 26 ++++++++
 .../src/main/java/module-info.java                 | 24 ++++++++
 .../src/main/java/module-info.java                 | 33 ++++++++++
 .../ambari-logsearch-logfeeder/pom.xml             | 12 ++--
 ambari-logsearch/ambari-logsearch-server/pom.xml   |  5 --
 ambari-logsearch/pom.xml                           | 71 ++++++++++++++++------
 12 files changed, 298 insertions(+), 26 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-appender/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-appender/src/main/java/module-info.java
new file mode 100644
index 0000000..5e3e21d
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-appender/src/main/java/module-info.java
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.appender {
+  exports org.apache.ambari.logsearch.appender;
+  requires log4j;
+  requires gson;
+}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-api/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-api/src/main/java/module-info.java
new file mode 100644
index 0000000..a998e36
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-config-api/src/main/java/module-info.java
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.config.api {
+  exports org.apache.ambari.logsearch.config.api;
+  exports org.apache.ambari.logsearch.config.api.model.inputconfig;
+  exports org.apache.ambari.logsearch.config.api.model.loglevelfilter;
+  requires org.apache.logging.log4j;
+}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-json/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-json/src/main/java/module-info.java
new file mode 100644
index 0000000..caa3c44
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-config-json/src/main/java/module-info.java
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.config.json {
+  exports org.apache.ambari.logsearch.config.json.model.inputconfig.impl;
+  exports org.apache.ambari.logsearch.config.json;
+  requires ambari.logsearch.config.api;
+  requires gson;
+}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/module-info.java
new file mode 100644
index 0000000..0c9d7ba
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/module-info.java
@@ -0,0 +1,25 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.config.local {
+  exports org.apache.ambari.logsearch.config.local;
+  requires org.apache.logging.log4j;
+  requires gson;
+  requires ambari.logsearch.config.json;
+  requires ambari.logsearch.config.api;
+}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/module-info.java
new file mode 100644
index 0000000..0d156b6
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/module-info.java
@@ -0,0 +1,25 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.config.solr {
+  exports org.apache.ambari.logsearch.config.solr;
+  requires ambari.logsearch.config.api;
+  requires org.apache.logging.log4j;
+  requires solr.solrj;
+  requires gson;
+}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/module-info.java
new file mode 100644
index 0000000..803e0fd
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/module-info.java
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.config.zookeeper {
+  exports org.apache.ambari.logsearch.config.zookeeper;
+  requires ambari.logsearch.config.api;
+  requires ambari.logsearch.config.json;
+  requires zookeeper;
+  requires curator.framework;
+  requires curator.recipes;
+  requires curator.client;
+  requires org.apache.logging.log4j;
+  requires gson;
+  requires guava;
+  requires commons.collections;
+  requires commons.lang3;
+}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/module-info.java
new file mode 100644
index 0000000..64d4145
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/module-info.java
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.log4j2.appender {
+  requires org.apache.logging.log4j;
+  requires org.apache.logging.log4j.core;
+
+  requires com.fasterxml.jackson.annotation;
+  requires com.fasterxml.jackson.core;
+  requires com.fasterxml.jackson.databind;
+}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/module-info.java
new file mode 100644
index 0000000..057afff
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/module-info.java
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.logfeeder.container.registry {
+  exports org.apache.ambari.logfeeder.docker;
+  requires org.apache.logging.log4j;
+  requires commons.lang;
+  requires com.fasterxml.jackson.databind;
+}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/module-info.java
new file mode 100644
index 0000000..c1359d7
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/module-info.java
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.logfeeder.plugin.api {
+  exports org.apache.ambari.logfeeder.plugin.manager;
+  exports org.apache.ambari.logfeeder.plugin.common;
+  exports org.apache.ambari.logfeeder.plugin.filter;
+  exports org.apache.ambari.logfeeder.plugin.input;
+  exports org.apache.ambari.logfeeder.plugin.output;
+  exports org.apache.ambari.logfeeder.plugin.filter.mapper;
+  exports org.apache.ambari.logfeeder.plugin.input.cache;
+
+  requires ambari.logsearch.config.api;
+  requires gson;
+  requires org.apache.logging.log4j;
+  requires jackson.mapper.asl;
+  requires jackson.core.asl;
+}
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
index 6dd3905..5235419 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
@@ -295,10 +295,6 @@
     <pluginManagement>
       <plugins>
         <plugin>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.0</version>
-        </plugin>
-        <plugin>
           <artifactId>maven-dependency-plugin</artifactId>
           <version>2.8</version>
         </plugin>
@@ -336,6 +332,14 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>${jdk.version}</source>
+          <target>${jdk.version}</target>
+        </configuration>
+      </plugin>
       <!-- ant pacakge -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
diff --git a/ambari-logsearch/ambari-logsearch-server/pom.xml b/ambari-logsearch/ambari-logsearch-server/pom.xml
index ea58d6f..8bffc7d 100755
--- a/ambari-logsearch/ambari-logsearch-server/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-server/pom.xml
@@ -57,10 +57,6 @@
         <pluginManagement>
           <plugins>
             <plugin>
-              <artifactId>maven-compiler-plugin</artifactId>
-              <version>3.8.0</version>
-            </plugin>
-            <plugin>
               <artifactId>maven-dependency-plugin</artifactId>
               <version>2.8</version>
             </plugin>
@@ -70,7 +66,6 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
-            <version>3.8.0</version>
             <configuration>
               <source>${jdk.version}</source>
               <target>${jdk.version}</target>
diff --git a/ambari-logsearch/pom.xml b/ambari-logsearch/pom.xml
index 2caa40b..2a9dbe9 100644
--- a/ambari-logsearch/pom.xml
+++ b/ambari-logsearch/pom.xml
@@ -23,22 +23,58 @@
   <packaging>pom</packaging>
 
   <url>http://maven.apache.org</url>
-  <modules>
-    <module>ambari-logsearch-assembly</module>
-    <module>ambari-logsearch-appender</module>
-    <module>ambari-logsearch-log4j2-appender</module>
-    <module>ambari-logsearch-server</module>
-    <module>ambari-logsearch-web</module>
-    <module>ambari-logsearch-logfeeder</module>
-    <module>ambari-logsearch-config-api</module>
-    <module>ambari-logsearch-config-json</module>
-    <module>ambari-logsearch-config-zookeeper</module>
-    <module>ambari-logsearch-it</module>
-    <module>ambari-logsearch-logfeeder-plugin-api</module>
-    <module>ambari-logsearch-logfeeder-container-registry</module>
-    <module>ambari-logsearch-config-local</module>
-    <module>ambari-logsearch-config-solr</module>
-  </modules>
+  <profiles>
+    <profile>
+      <id>all</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <modules>
+        <module>ambari-logsearch-web</module>
+        <module>ambari-logsearch-assembly</module>
+        <module>ambari-logsearch-appender</module>
+        <module>ambari-logsearch-log4j2-appender</module>
+        <module>ambari-logsearch-server</module>
+        <module>ambari-logsearch-it</module>
+        <module>ambari-logsearch-logfeeder</module>
+        <module>ambari-logsearch-config-api</module>
+        <module>ambari-logsearch-config-json</module>
+        <module>ambari-logsearch-config-zookeeper</module>
+        <module>ambari-logsearch-logfeeder-plugin-api</module>
+        <module>ambari-logsearch-logfeeder-container-registry</module>
+        <module>ambari-logsearch-config-local</module>
+        <module>ambari-logsearch-config-solr</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>be</id>
+      <properties>
+        <rat.skip>true</rat.skip>
+      </properties>
+      <modules>
+        <module>ambari-logsearch-appender</module>
+        <module>ambari-logsearch-log4j2-appender</module>
+        <module>ambari-logsearch-server</module>
+        <module>ambari-logsearch-logfeeder</module>
+        <module>ambari-logsearch-config-api</module>
+        <module>ambari-logsearch-config-json</module>
+        <module>ambari-logsearch-config-zookeeper</module>
+        <module>ambari-logsearch-logfeeder-plugin-api</module>
+        <module>ambari-logsearch-logfeeder-container-registry</module>
+        <module>ambari-logsearch-config-local</module>
+        <module>ambari-logsearch-config-solr</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>fe</id>
+      <properties>
+        <rat.skip>true</rat.skip>
+      </properties>
+      <modules>
+        <module>ambari-logsearch-web</module>
+      </modules>
+    </profile>
+  </profiles>
   <properties>
     <jdk.version>10</jdk.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -54,6 +90,7 @@
     <reuseForks>false</reuseForks>
     <surefire.argLine>-Xmx1024m -Xms512m</surefire.argLine>
     <skipSurefireTests>false</skipSurefireTests>
+    <compiler.version>3.8.0</compiler.version>
   </properties>
 
   <licenses>
@@ -203,7 +240,7 @@
       </plugin>
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.8.0</version>
+        <version>${compiler.version}</version>
         <configuration>
           <source>${jdk.version}</source>
           <target>${jdk.version}</target>


[ambari] 10/12: logfeeder modules

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 4565c2a6358fc13bbed6a00d9f320acb2bb847cf
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Mon Sep 24 19:35:27 2018 +0200

    logfeeder modules
---
 .../src/main/java/module-info.java                 | 68 ++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/module-info.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/module-info.java
new file mode 100644
index 0000000..596d08a
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/module-info.java
@@ -0,0 +1,68 @@
+/*
+ * 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.
+ */
+module ambari.logsearch.logfeeder {
+  exports org.apache.ambari.logfeeder.common;
+  requires java.xml.ws.annotation;
+
+  requires ambari.logsearch.config.api;
+  requires ambari.logsearch.config.local;
+  requires ambari.logsearch.config.zookeeper;
+  requires ambari.logsearch.config.solr;
+  requires ambari.logsearch.logfeeder.plugin.api;
+  requires ambari.logsearch.logfeeder.container.registry;
+  requires ambari.logsearch.log4j2.appender;
+
+  requires log4j;
+  requires org.apache.logging.log4j;
+  requires org.apache.logging.log4j.core;
+  requires org.apache.logging.log4j.jcl;
+  requires org.apache.logging.log4j.jul;
+  requires org.apache.logging.log4j.slf4j.impl;
+
+  requires javax.inject;
+  requires commons.cli;
+  requires commons.lang;
+  requires commons.io;
+  requires gson;
+  requires spring.boot.autoconfigure;
+  requires spring.boot;
+  requires spring.context;
+  requires com.google.common;
+  requires solr.solrj;
+  requires ambari.logsearch.config.json;
+  requires org.apache.commons.lang3;
+  requires spring.core;
+  requires commons.collections;
+  requires httpclient;
+  requires spring.beans;
+  requires hadoop.common;
+  requires grok;
+  requires ambari.logsearch.appender;
+  requires curator.recipes;
+  requires curator.framework;
+  requires ambari.metrics.common;
+  requires commons.csv;
+  requires kafka.clients;
+  requires org.apache.commons.compress;
+  requires ant;
+  requires jackson.mapper.asl;
+  requires jackson.core.asl;
+  requires minio;
+
+}
\ No newline at end of file


[ambari] 12/12: repackage logfeeder container registry

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 85ce982a7011a306a0f1dd3a11bcbb9eb281c9f4
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Mon Sep 24 19:43:24 2018 +0200

    repackage logfeeder container registry
---
 .../ambari/logfeeder/{ => container}/ContainerMetadata.java       | 2 +-
 .../ambari/logfeeder/{ => container}/ContainerRegistry.java       | 2 +-
 .../logfeeder/{ => container}/docker/DockerContainerRegistry.java | 8 ++++----
 .../{ => container}/docker/DockerContainerRegistryMonitor.java    | 4 ++--
 .../ambari/logfeeder/{ => container}/docker/DockerMetadata.java   | 4 ++--
 .../{ => container}/docker/command/CommandExecutionHelper.java    | 2 +-
 .../logfeeder/{ => container}/docker/command/CommandResponse.java | 2 +-
 .../{ => container}/docker/command/ContainerCommand.java          | 2 +-
 .../docker/command/DockerInspectContainerCommand.java             | 2 +-
 .../docker/command/DockerListContainerCommand.java                | 2 +-
 .../java/org/apache/ambari/logfeeder/conf/ApplicationConfig.java  | 2 +-
 .../main/java/org/apache/ambari/logfeeder/input/InputFile.java    | 4 ++--
 .../java/org/apache/ambari/logfeeder/input/InputManagerImpl.java  | 4 ++--
 .../logfeeder/input/monitor/DockerLogFileUpdateMonitor.java       | 4 ++--
 14 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/ContainerMetadata.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/ContainerMetadata.java
similarity index 96%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/ContainerMetadata.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/ContainerMetadata.java
index df3a80a..ac8770f 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/ContainerMetadata.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/ContainerMetadata.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder;
+package org.apache.ambari.logfeeder.container;
 
 /**
  * Holds container related metadata
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/ContainerRegistry.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/ContainerRegistry.java
similarity index 96%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/ContainerRegistry.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/ContainerRegistry.java
index 94f6a82..4d9d765 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/ContainerRegistry.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/ContainerRegistry.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder;
+package org.apache.ambari.logfeeder.container;
 
 import java.util.Map;
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistry.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/DockerContainerRegistry.java
similarity index 95%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistry.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/DockerContainerRegistry.java
index 1294dbe..715b751 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistry.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/DockerContainerRegistry.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder.docker;
+package org.apache.ambari.logfeeder.container.docker;
 
-import org.apache.ambari.logfeeder.ContainerRegistry;
-import org.apache.ambari.logfeeder.docker.command.DockerInspectContainerCommand;
-import org.apache.ambari.logfeeder.docker.command.DockerListContainerCommand;
+import org.apache.ambari.logfeeder.container.ContainerRegistry;
+import org.apache.ambari.logfeeder.container.docker.command.DockerInspectContainerCommand;
+import org.apache.ambari.logfeeder.container.docker.command.DockerListContainerCommand;
 import org.apache.commons.lang.StringUtils;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistryMonitor.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/DockerContainerRegistryMonitor.java
similarity index 93%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistryMonitor.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/DockerContainerRegistryMonitor.java
index ff2a3a0..137be7f 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistryMonitor.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/DockerContainerRegistryMonitor.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder.docker;
+package org.apache.ambari.logfeeder.container.docker;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
 /**
- * Periodically re-register docker container metadata for {@link org.apache.ambari.logfeeder.docker.DockerContainerRegistry}
+ * Periodically re-register docker container metadata for {@link org.apache.ambari.logfeeder.container.docker.DockerContainerRegistry}
  * based on a time interval in seconds (property: logfeeder.container.registry.docker.interval, default: 5)
  */
 public class DockerContainerRegistryMonitor implements Runnable {
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerMetadata.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/DockerMetadata.java
similarity index 94%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerMetadata.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/DockerMetadata.java
index 65842b4..f5cafcf 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerMetadata.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/DockerMetadata.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder.docker;
+package org.apache.ambari.logfeeder.container.docker;
 
-import org.apache.ambari.logfeeder.ContainerMetadata;
+import org.apache.ambari.logfeeder.container.ContainerMetadata;
 
 public class DockerMetadata implements ContainerMetadata {
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/CommandExecutionHelper.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/CommandExecutionHelper.java
similarity index 96%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/CommandExecutionHelper.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/CommandExecutionHelper.java
index aa65c60..d13969d 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/CommandExecutionHelper.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/CommandExecutionHelper.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder.docker.command;
+package org.apache.ambari.logfeeder.container.docker.command;
 
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/CommandResponse.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/CommandResponse.java
similarity index 95%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/CommandResponse.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/CommandResponse.java
index 7ead791..9152bf4 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/CommandResponse.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/CommandResponse.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder.docker.command;
+package org.apache.ambari.logfeeder.container.docker.command;
 
 import java.util.List;
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/ContainerCommand.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/ContainerCommand.java
similarity index 95%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/ContainerCommand.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/ContainerCommand.java
index db3de01..92c24ee 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/ContainerCommand.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/ContainerCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder.docker.command;
+package org.apache.ambari.logfeeder.container.docker.command;
 
 import java.util.Map;
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerInspectContainerCommand.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/DockerInspectContainerCommand.java
similarity index 97%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerInspectContainerCommand.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/DockerInspectContainerCommand.java
index 89be7d0..6e166eb 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerInspectContainerCommand.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/DockerInspectContainerCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder.docker.command;
+package org.apache.ambari.logfeeder.container.docker.command;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang.StringUtils;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerListContainerCommand.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/DockerListContainerCommand.java
similarity index 97%
rename from ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerListContainerCommand.java
rename to ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/DockerListContainerCommand.java
index c530eb3..fc12a22 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerListContainerCommand.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/container/docker/command/DockerListContainerCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder.docker.command;
+package org.apache.ambari.logfeeder.container.docker.command;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/ApplicationConfig.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/ApplicationConfig.java
index 8c7e7d9..086ad70 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/ApplicationConfig.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/ApplicationConfig.java
@@ -20,7 +20,7 @@ package org.apache.ambari.logfeeder.conf;
 
 import com.google.common.collect.Maps;
 import org.apache.ambari.logfeeder.common.LogFeederSolrClientFactory;
-import org.apache.ambari.logfeeder.docker.DockerContainerRegistry;
+import org.apache.ambari.logfeeder.container.docker.DockerContainerRegistry;
 import org.apache.ambari.logfeeder.common.LogFeederConstants;
 import org.apache.ambari.logfeeder.input.InputConfigUploader;
 import org.apache.ambari.logfeeder.input.InputManagerImpl;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputFile.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputFile.java
index 74e2ed4..022dc01 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputFile.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputFile.java
@@ -20,8 +20,8 @@ package org.apache.ambari.logfeeder.input;
 
 import org.apache.ambari.logfeeder.conf.LogEntryCacheConfig;
 import org.apache.ambari.logfeeder.conf.LogFeederProps;
-import org.apache.ambari.logfeeder.docker.DockerContainerRegistry;
-import org.apache.ambari.logfeeder.docker.DockerMetadata;
+import org.apache.ambari.logfeeder.container.docker.DockerContainerRegistry;
+import org.apache.ambari.logfeeder.container.docker.DockerMetadata;
 import org.apache.ambari.logfeeder.input.monitor.DockerLogFileUpdateMonitor;
 import org.apache.ambari.logfeeder.input.monitor.LogFileDetachMonitor;
 import org.apache.ambari.logfeeder.input.monitor.LogFilePathUpdateMonitor;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManagerImpl.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManagerImpl.java
index 60bd4ca..91ffd5e 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManagerImpl.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManagerImpl.java
@@ -20,8 +20,8 @@ package org.apache.ambari.logfeeder.input;
 
 import com.google.common.annotations.VisibleForTesting;
 import org.apache.ambari.logfeeder.conf.LogFeederProps;
-import org.apache.ambari.logfeeder.docker.DockerContainerRegistry;
-import org.apache.ambari.logfeeder.docker.DockerContainerRegistryMonitor;
+import org.apache.ambari.logfeeder.container.docker.DockerContainerRegistry;
+import org.apache.ambari.logfeeder.container.docker.DockerContainerRegistryMonitor;
 import org.apache.ambari.logfeeder.plugin.manager.CheckpointManager;
 import org.apache.ambari.logfeeder.plugin.common.MetricData;
 import org.apache.ambari.logfeeder.plugin.input.Input;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/DockerLogFileUpdateMonitor.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/DockerLogFileUpdateMonitor.java
index f33063f..859e6e0 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/DockerLogFileUpdateMonitor.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/DockerLogFileUpdateMonitor.java
@@ -18,8 +18,8 @@
  */
 package org.apache.ambari.logfeeder.input.monitor;
 
-import org.apache.ambari.logfeeder.docker.DockerContainerRegistry;
-import org.apache.ambari.logfeeder.docker.DockerMetadata;
+import org.apache.ambari.logfeeder.container.docker.DockerContainerRegistry;
+import org.apache.ambari.logfeeder.container.docker.DockerMetadata;
 import org.apache.ambari.logfeeder.input.InputFile;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;


[ambari] 01/12: jdk 10 support

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit b775674572a583905840e39f974def37a6b4c6f3
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Sun Sep 16 01:45:35 2018 +0200

    jdk 10 support
---
 .../ambari-logsearch-logfeeder/pom.xml             |  6 +--
 .../org/apache/ambari/logfeeder/LogFeeder.java     |  2 +-
 .../src/main/scripts/logfeeder.sh                  |  2 +-
 ambari-logsearch/ambari-logsearch-server/pom.xml   | 58 ++++++++++++++++++----
 .../org/apache/ambari/logsearch/LogSearch.java     |  8 +--
 .../conf/LogSearchJerseyResourceConfig.java        |  3 +-
 .../logsearch/conf/LogSearchServletConfig.java     | 33 ++++++------
 .../logsearch/conf/LogSearchSessionConfig.java     | 46 +++++++++++++++++
 .../ambari/logsearch/conf/SecurityConfig.java      |  7 +++
 .../apache/ambari/logsearch/conf/SolrConfig.java   |  3 --
 .../org/apache/ambari/logsearch/dao/UserDao.java   |  6 ++-
 .../apache/ambari/logsearch/util/CommonUtil.java   | 41 ---------------
 .../LogsearchSecurityContextFormationFilter.java   |  6 ++-
 .../logsearch/web/filters/NoServletContext.java    | 35 +++++++++++++
 .../LogsearchFileAuthenticationProvider.java       | 15 ++++--
 .../src/main/scripts/logsearch.sh                  |  2 +-
 .../converter/AuditLogRequestConverterTest.java    |  4 +-
 .../AuditServiceLoadRequestQueryConverterTest.java |  4 +-
 .../BaseServiceLogRequestQueryConverterTest.java   |  4 +-
 .../FieldAuditLogRequestQueryConverterTest.java    |  4 +-
 .../ServiceLogAnyGraphRequestConverterTest.java    |  4 +-
 ...LogComponentLevelRequestQueryConverterTest.java |  6 +--
 ...LogComponentRequestFacetQueryConverterTest.java |  6 +--
 ...viceLogLevelCountRequestQueryConverterTest.java |  4 +-
 ...rviceLogTreeRequestFacetQueryConverterTest.java |  6 +--
 ...rviceLogTruncatedRequestQueryConverterTest.java |  4 +-
 .../TopFieldAuditLogRequestQueryConverterTest.java |  4 +-
 .../UserExportRequestQueryConverterTest.java       |  4 +-
 .../LogsearchFileAuthenticationProviderTest.java   | 14 ++++--
 ambari-logsearch/docker/Dockerfile                 |  9 ++--
 ambari-logsearch/pom.xml                           |  4 +-
 31 files changed, 227 insertions(+), 127 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
index 1b116b3..585dbda 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
@@ -33,8 +33,8 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <spring.version>4.3.17.RELEASE</spring.version>
-    <spring-boot.version>1.5.13.RELEASE</spring-boot.version>
+    <spring.version>5.0.9.RELEASE</spring.version>
+    <spring-boot.version>2.0.5.RELEASE</spring-boot.version>
   </properties>
 
   <dependencies>
@@ -91,7 +91,7 @@
     <dependency>
       <groupId>org.easymock</groupId>
       <artifactId>easymock</artifactId>
-      <version>3.4</version>
+      <version>3.6</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java
index 4025d3d..a0d8b4f 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java
@@ -22,7 +22,7 @@ import org.springframework.boot.Banner;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration;
 import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.system.ApplicationPidFileWriter;
+import org.springframework.boot.context.ApplicationPidFileWriter;
 
 @SpringBootApplication(
   scanBasePackages = {"org.apache.ambari.logfeeder"},
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder.sh b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder.sh
index 7f1d8ec..b9141f0 100755
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder.sh
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder.sh
@@ -80,7 +80,7 @@ else
   LOGFEEDER_GC_LOGFILE="$LOG_PATH_WITHOUT_SLASH/$LOGFEEDER_GC_LOGFILE"
 fi
 
-LOGFEEDER_GC_OPTS="-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$LOGFEEDER_GC_LOGFILE"
+LOGFEEDER_GC_OPTS="-Xlog:gc*:file=$LOGFEEDER_GC_LOGFILE:time"
 
 function print_usage() {
   cat << EOF
diff --git a/ambari-logsearch/ambari-logsearch-server/pom.xml b/ambari-logsearch/ambari-logsearch-server/pom.xml
index 783fba3..f7f2ba2 100755
--- a/ambari-logsearch/ambari-logsearch-server/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-server/pom.xml
@@ -27,15 +27,19 @@
   <url>http://maven.apache.org</url>
   <name>Ambari Logsearch Server</name>
   <properties>
-    <spring.version>4.3.17.RELEASE</spring.version>
-    <spring.security.version>4.2.4.RELEASE</spring.security.version>
-    <spring.ldap.version>2.3.2.RELEASE</spring.ldap.version>
-    <jersey.version>2.25.1</jersey.version>
-    <jetty.version>9.4.11.v20180605</jetty.version>
+    <spring-boot.version>2.0.5.RELEASE</spring-boot.version>
+    <!-- <spring-boot.version>2.1.0.M2</spring-boot.version> -->
+    <spring.version>5.0.9.RELEASE</spring.version>
+    <spring-session.version>1.3.3.RELEASE</spring-session.version>
+    <spring.security.version>5.0.8.RELEASE</spring.security.version>
+    <jersey.version>2.27</jersey.version>
+    <jetty.version>9.4.12.v20180830</jetty.version>
     <swagger.version>1.5.16</swagger.version>
-    <spring-data-solr.version>2.0.2.RELEASE</spring-data-solr.version>
+    <spring.ldap.version>2.3.2.RELEASE</spring.ldap.version>
+    <spring-data-solr.version>3.0.10.RELEASE</spring-data-solr.version>
+    <spring-data.version>2.0.10.RELEASE</spring-data.version>
     <jjwt.version>0.6.0</jjwt.version>
-    <spring-boot.version>1.5.13.RELEASE</spring-boot.version>
+    <javax-servlet.version>4.0.1</javax-servlet.version>
   </properties>
   <profiles>
     <profile>
@@ -170,9 +174,14 @@
     <dependency>
       <groupId>org.easymock</groupId>
       <artifactId>easymock</artifactId>
-      <version>3.4</version>
+      <version>3.6</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>javax.validation</groupId>
+      <artifactId>validation-api</artifactId>
+      <version>2.0.1.Final</version>
+    </dependency>
     <!-- Spring dependencies -->
     <dependency>
       <groupId>org.springframework</groupId>
@@ -210,6 +219,11 @@
       <artifactId>spring-security-ldap</artifactId>
       <version>${spring.security.version}</version>
     </dependency>
+    <dependency>
+      <groupId>org.springframework.session</groupId>
+      <artifactId>spring-session</artifactId>
+      <version>${spring-session.version}</version>
+    </dependency>
 
     <dependency>
       <groupId>org.springframework.security.kerberos</groupId>
@@ -271,7 +285,7 @@
     <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-jersey</artifactId>
-      <version>${spring-boot.version}</version>
+      <version>2.1.0.M2</version>
     </dependency>
     <dependency>
       <groupId>org.springframework.boot</groupId>
@@ -294,6 +308,11 @@
       <version>${jersey.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.glassfish.jaxb</groupId>
+      <artifactId>jaxb-runtime</artifactId>
+      <version>2.3.0.1</version>
+    </dependency>
+    <dependency>
         <artifactId>guava</artifactId>
         <groupId>com.google.guava</groupId>
         <version>25.0-jre</version>
@@ -312,7 +331,24 @@
     <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
-      <version>3.1.0</version>
+      <version>${javax-servlet.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.3.0</version>
+    </dependency>
+
+    <dependency>
+      <groupId>javax.annotation</groupId>
+      <artifactId>javax.annotation-api</artifactId>
+      <version>1.3.2</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.activation</groupId>
+      <artifactId>activation</artifactId>
+      <version>1.1.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.solr</groupId>
@@ -484,7 +520,7 @@
     <dependency>
       <groupId>org.springframework.data</groupId>
       <artifactId>spring-data-commons</artifactId>
-      <version>1.13.11.RELEASE</version>
+      <version>${spring-data.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/LogSearch.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/LogSearch.java
index 7d42a92..9707608 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/LogSearch.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/LogSearch.java
@@ -21,17 +21,19 @@ package org.apache.ambari.logsearch;
 import org.springframework.boot.Banner;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration;
+import org.springframework.boot.autoconfigure.data.solr.SolrRepositoriesAutoConfiguration;
 import org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration;
-import org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration;
+import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
 import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.system.ApplicationPidFileWriter;
+import org.springframework.boot.context.ApplicationPidFileWriter;
 
 @SpringBootApplication(
   scanBasePackages = {"org.apache.ambari.logsearch"},
   exclude = {
     RepositoryRestMvcAutoConfiguration.class,
     WebMvcAutoConfiguration.class,
-    SolrAutoConfiguration.class
+    SolrAutoConfiguration.class,
+    SolrRepositoriesAutoConfiguration.class
   }
 )
 public class LogSearch {
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchJerseyResourceConfig.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchJerseyResourceConfig.java
index a3ce260..8027096 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchJerseyResourceConfig.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchJerseyResourceConfig.java
@@ -21,6 +21,7 @@ package org.apache.ambari.logsearch.conf;
 import javax.ws.rs.ApplicationPath;
 
 import org.apache.ambari.logsearch.rest.ServiceLogsResource;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.servlet.ServletProperties;
 
@@ -29,7 +30,7 @@ public class LogSearchJerseyResourceConfig extends ResourceConfig {
 
   public LogSearchJerseyResourceConfig() {
     packages(ServiceLogsResource.class.getPackage().getName());
-    register(com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider.class);
+    register(JacksonJaxbJsonProvider.class);
     property(ServletProperties.FILTER_FORWARD_ON_404, true);
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchServletConfig.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchServletConfig.java
index a7a27da..f945ca6 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchServletConfig.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchServletConfig.java
@@ -21,23 +21,23 @@ package org.apache.ambari.logsearch.conf;
 import org.apache.ambari.logsearch.configurer.SslConfigurer;
 import org.apache.ambari.logsearch.web.listener.LogSearchSessionListener;
 import org.eclipse.jetty.server.Connector;
-import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
 import org.glassfish.jersey.servlet.ServletContainer;
 import org.glassfish.jersey.servlet.ServletProperties;
 import org.springframework.boot.autoconfigure.web.ServerProperties;
-import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
-import org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer;
-import org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory;
-import org.springframework.boot.context.embedded.jetty.JettyServerCustomizer;
+import org.springframework.boot.web.embedded.jetty.JettyServerCustomizer;
+import org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory;
 import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
 import javax.inject.Inject;
 import javax.servlet.http.HttpSessionListener;
 
+import java.time.Duration;
+
 import static org.apache.ambari.logsearch.common.LogSearchConstants.LOGSEARCH_APPLICATION_NAME;
 import static org.apache.ambari.logsearch.common.LogSearchConstants.LOGSEARCH_SESSION_ID;
 
@@ -67,29 +67,26 @@ public class LogSearchServletConfig {
     return registration;
   }
 
+
   @Bean
-  public EmbeddedServletContainerFactory containerFactory() {
-    final JettyEmbeddedServletContainerFactory jettyEmbeddedServletContainerFactory = new JettyEmbeddedServletContainerFactory() {
-      @Override
-      protected JettyEmbeddedServletContainer getJettyEmbeddedServletContainer(Server server) {
-        return new JettyEmbeddedServletContainer(server);
-      }
-    };
-    jettyEmbeddedServletContainerFactory.setSessionTimeout(SESSION_TIMEOUT);
-    serverProperties.getSession().getCookie().setName(LOGSEARCH_SESSION_ID);
-    serverProperties.setDisplayName(LOGSEARCH_APPLICATION_NAME);
+  public ConfigurableServletWebServerFactory webServerFactory() {
+    JettyServletWebServerFactory webServerFactory = new JettyServletWebServerFactory();
+    serverProperties.getServlet().getSession().setTimeout(Duration.ofSeconds(SESSION_TIMEOUT));
+    serverProperties.getServlet().getSession().getCookie().setName(LOGSEARCH_SESSION_ID);
     if ("https".equals(logSearchHttpConfig.getProtocol())) {
       sslConfigurer.ensureStorePasswords();
       sslConfigurer.loadKeystore();
-      jettyEmbeddedServletContainerFactory.addServerCustomizers((JettyServerCustomizer) server -> {
+      webServerFactory.addServerCustomizers((JettyServerCustomizer) server -> {
         SslContextFactory sslContextFactory = sslConfigurer.getSslContextFactory();
         ServerConnector sslConnector = new ServerConnector(server, sslContextFactory);
         sslConnector.setPort(logSearchHttpConfig.getHttpsPort());
         server.setConnectors(new Connector[]{sslConnector});
       });
     } else {
-      jettyEmbeddedServletContainerFactory.setPort(logSearchHttpConfig.getHttpPort());
+      webServerFactory.setPort(logSearchHttpConfig.getHttpPort());
     }
-    return jettyEmbeddedServletContainerFactory;
+
+    return webServerFactory;
   }
+
 }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchSessionConfig.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchSessionConfig.java
new file mode 100644
index 0000000..8023094
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/LogSearchSessionConfig.java
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+package org.apache.ambari.logsearch.conf;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.session.MapSessionRepository;
+import org.springframework.session.config.annotation.web.http.EnableSpringHttpSession;
+import org.springframework.session.web.context.AbstractHttpSessionApplicationInitializer;
+import org.springframework.session.web.http.DefaultCookieSerializer;
+
+import static org.apache.ambari.logsearch.common.LogSearchConstants.LOGSEARCH_SESSION_ID;
+
+@Configuration
+@EnableSpringHttpSession
+public class LogSearchSessionConfig extends AbstractHttpSessionApplicationInitializer {
+
+  @Bean
+  public DefaultCookieSerializer defaultCookieSerializer(){
+    DefaultCookieSerializer defaultCookieSerializer = new DefaultCookieSerializer();
+    defaultCookieSerializer.setCookieName(LOGSEARCH_SESSION_ID);
+    return defaultCookieSerializer;
+  }
+
+  @Bean
+  public MapSessionRepository sessionRepository() {
+    return new MapSessionRepository();
+  }
+
+}
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SecurityConfig.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SecurityConfig.java
index 87dc22f..fc985af 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SecurityConfig.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SecurityConfig.java
@@ -60,6 +60,8 @@ import org.springframework.security.ldap.authentication.NullLdapAuthoritiesPopul
 import org.springframework.security.ldap.search.FilterBasedLdapUserSearch;
 import org.springframework.security.ldap.userdetails.DefaultLdapAuthoritiesPopulator;
 import org.springframework.security.ldap.userdetails.LdapAuthoritiesPopulator;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.security.web.access.intercept.FilterSecurityInterceptor;
 import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
 import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
@@ -262,6 +264,11 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
     return filter;
   }
 
+  @Bean
+  public PasswordEncoder passwordEncoder() {
+    return new BCryptPasswordEncoder();
+  }
+
   private LogsearchFilter logsearchServiceLogFilter() {
     return new LogsearchFilter(serviceLogsRequestMatcher(), new GlobalStateProvider(solrServiceLogsState, solrServiceLogPropsConfig));
   }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SolrConfig.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SolrConfig.java
index 33f4f6f..4dc74ee 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SolrConfig.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SolrConfig.java
@@ -20,17 +20,14 @@ package org.apache.ambari.logsearch.conf;
 
 import org.apache.ambari.logsearch.conf.global.SolrAuditLogsState;
 import org.apache.ambari.logsearch.conf.global.SolrCollectionState;
-import org.apache.ambari.logsearch.conf.global.LogLevelFilterManagerState;
 import org.apache.ambari.logsearch.conf.global.SolrServiceLogsState;
 import org.apache.ambari.logsearch.conf.global.SolrEventHistoryState;
 import org.apache.ambari.logsearch.dao.SolrSchemaFieldDao;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.data.solr.repository.config.EnableSolrRepositories;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
 @Configuration
-@EnableSolrRepositories
 @EnableScheduling
 public class SolrConfig {
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
index 3e915a4..cf25bef 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
@@ -37,6 +37,7 @@ import org.apache.ambari.logsearch.web.model.Role;
 import org.apache.ambari.logsearch.web.model.User;
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
+import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.stereotype.Repository;
 
@@ -53,6 +54,9 @@ public class UserDao {
   private AuthPropsConfig authPropsConfig;
 
   @Inject
+  private PasswordEncoder passwordEncoder;
+
+  @Inject
   private RoleDao roleDao;
 
   private ArrayList<HashMap<String, String>> userList = null;
@@ -125,7 +129,7 @@ public class UserDao {
       String username = user.get(USER_NAME);
       String password = user.get(PASSWORD);
       if (StringUtils.isNotBlank(password)) {
-        encPassword = CommonUtil.encryptPassword(username, password);
+        encPassword = passwordEncoder.encode(password);
         user.put(PASSWORD, "");
         user.put(ENC_PASSWORD, encPassword);
         isUpdated = true;
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/CommonUtil.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/CommonUtil.java
deleted file mode 100644
index 1cfe469..0000000
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/CommonUtil.java
+++ /dev/null
@@ -1,41 +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.
- */
-package org.apache.ambari.logsearch.util;
-
-import java.security.SecureRandom;
-
-import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
-
-public class CommonUtil {
-  private CommonUtil() {
-    throw new UnsupportedOperationException();
-  }
-  
-  private static SecureRandom secureRandom = new SecureRandom();
-  private static int counter = 0;
-
-  public static String genGUI() {
-    return System.currentTimeMillis() + "_" + secureRandom.nextInt(1000) + "_" + counter++;
-  }
-  
-  private static final Md5PasswordEncoder md5Encoder = new Md5PasswordEncoder();
-  public static String encryptPassword(String username, String password) {
-    return md5Encoder.encodePassword(password, username);
-  }
-}
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchSecurityContextFormationFilter.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchSecurityContextFormationFilter.java
index fed86e8..b2cf041 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchSecurityContextFormationFilter.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchSecurityContextFormationFilter.java
@@ -19,6 +19,7 @@
 package org.apache.ambari.logsearch.web.filters;
 
 import java.io.IOException;
+import java.security.SecureRandom;
 
 import javax.inject.Inject;
 import javax.servlet.FilterChain;
@@ -32,7 +33,6 @@ import javax.servlet.http.HttpSession;
 
 import org.apache.ambari.logsearch.common.LogSearchContext;
 import org.apache.ambari.logsearch.manager.SessionManager;
-import org.apache.ambari.logsearch.util.CommonUtil;
 import org.apache.ambari.logsearch.web.model.User;
 import org.apache.log4j.Logger;
 import org.springframework.security.authentication.AnonymousAuthenticationToken;
@@ -47,6 +47,8 @@ public class LogsearchSecurityContextFormationFilter extends GenericFilterBean {
   public static final String LOGSEARCH_SC_SESSION_KEY = "LOGSEARCH_SECURITY_CONTEXT";
   public static final String USER_AGENT = "User-Agent";
 
+  private static SecureRandom secureRandom = new SecureRandom();
+
   @Inject
   SessionManager sessionManager;
 
@@ -80,7 +82,7 @@ public class LogsearchSecurityContextFormationFilter extends GenericFilterBean {
         }
         if (msaCookie == null) {
           HttpServletResponse httpResponse = (HttpServletResponse) response;
-          msaCookie = CommonUtil.genGUI();
+          msaCookie = System.currentTimeMillis() + "_" + secureRandom.nextInt(1000);
           Cookie cookie = new Cookie("msa", msaCookie);
           // TODO: Need to revisit this
           cookie.setMaxAge(Integer.MAX_VALUE);
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/NoServletContext.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/NoServletContext.java
index f1663bc..cff90f3 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/NoServletContext.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/NoServletContext.java
@@ -76,6 +76,36 @@ public class NoServletContext implements ServletContext {
   }
 
   @Override
+  public int getSessionTimeout() {
+    return 0;
+  }
+
+  @Override
+  public void setSessionTimeout(int i) {
+
+  }
+
+  @Override
+  public String getRequestCharacterEncoding() {
+    return null;
+  }
+
+  @Override
+  public void setRequestCharacterEncoding(String s) {
+
+  }
+
+  @Override
+  public String getResponseCharacterEncoding() {
+    return null;
+  }
+
+  @Override
+  public void setResponseCharacterEncoding(String s) {
+
+  }
+
+  @Override
   public SessionCookieConfig getSessionCookieConfig() {
     return null;
   }
@@ -259,6 +289,11 @@ public class NoServletContext implements ServletContext {
   }
 
   @Override
+  public ServletRegistration.Dynamic addJspFile(String s, String s1) {
+    return null;
+  }
+
+  @Override
   public javax.servlet.ServletRegistration.Dynamic addServlet(
       String servletName, Servlet servlet) {
     return null;
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
index 8c12e0a..1f04bdf 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
@@ -20,8 +20,8 @@ package org.apache.ambari.logsearch.web.security;
 
 import java.util.Collection;
 
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.ambari.logsearch.conf.AuthPropsConfig;
-import org.apache.ambari.logsearch.util.CommonUtil;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
@@ -32,6 +32,7 @@ import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
 import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.crypto.password.PasswordEncoder;
 
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -47,6 +48,9 @@ public class LogsearchFileAuthenticationProvider extends LogsearchAbstractAuthen
   @Inject
   private UserDetailsService userDetailsService;
 
+  @Inject
+  private PasswordEncoder passwordEncoder;
+
   @Override
   public Authentication authenticate(Authentication authentication) throws AuthenticationException {
     if (!authPropsConfig.isAuthFileEnabled()) {
@@ -75,8 +79,8 @@ public class LogsearchFileAuthenticationProvider extends LogsearchAbstractAuthen
       logger.error("Password can't be null or empty.");
       throw new BadCredentialsException("Password can't be null or empty.");
     }
-    String encPassword = CommonUtil.encryptPassword(username, password);
-    if (!encPassword.equals(user.getPassword())) {
+    String encPassword = passwordEncoder.encode(password);
+    if (!passwordEncoder.matches(user.getPassword(), encPassword)) {
       logger.error("Wrong password for user=" + username);
       throw new BadCredentialsException("Wrong password.");
     }
@@ -85,4 +89,9 @@ public class LogsearchFileAuthenticationProvider extends LogsearchAbstractAuthen
     authentication = new UsernamePasswordAuthenticationToken(username, encPassword, authorities);
     return authentication;
   }
+
+  @VisibleForTesting
+  public void setPasswordEncoder(PasswordEncoder passwordEncoder) {
+    this.passwordEncoder = passwordEncoder;
+  }
 }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch.sh b/ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch.sh
index a51775d..629e8f2 100755
--- a/ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch.sh
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch.sh
@@ -78,7 +78,7 @@ else
   LOGSEARCH_GC_LOGFILE="$LOG_PATH_WITHOUT_SLASH/$LOGSEARCH_GC_LOGFILE"
 fi
 
-LOGSEARCH_GC_OPTS="-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$LOGSEARCH_GC_LOGFILE"
+LOGSEARCH_GC_OPTS="-Xlog:gc*:file=$LOGSEARCH_GC_LOGFILE:time"
 
 function print_usage() {
   cat << EOF
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/AuditLogRequestConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/AuditLogRequestConverterTest.java
index 2ccc741..a34b872 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/AuditLogRequestConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/AuditLogRequestConverterTest.java
@@ -47,8 +47,8 @@ public class AuditLogRequestConverterTest extends AbstractRequestConverterTest {
     SimpleQuery simpleQuery = underTest.convert(request);
     SolrQuery queryResult = new DefaultQueryParser().doConstructSolrQuery(simpleQuery);
     // THEN
-    assertEquals("?q=*%3A*&start=0&rows=25&fq=repo%3A%28logsearch_app+OR+secure_log%29&fq=-repo%3A%28hst_agent+OR+system_message%29" +
-        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=cluster%3Acl1&fq=reqUser%3A%28joe+OR+steven%29&sort=evtTime+desc%2Cseq_num+desc",
+    assertEquals("?q=*%3A*&start=0&rows=25&fq=repo%3A%28logsearch_app+%22OR%22+secure_log%29&fq=-repo%3A%28hst_agent+%22OR%22+system_message%29" +
+        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=cluster%3Acl1&fq=reqUser%3A%28joe+%22OR%22+steven%29&sort=evtTime+desc%2Cseq_num+desc",
       queryResult.toQueryString());
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverterTest.java
index 9d3d145..988be98 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverterTest.java
@@ -45,8 +45,8 @@ public class AuditServiceLoadRequestQueryConverterTest extends AbstractRequestCo
     SolrQuery solrQuery = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" +
-      "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+OR+secure_log%29" +
-      "&fq=-repo%3A%28hst_agent+OR+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=10&facet.field=repo", solrQuery.toQueryString());
+      "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+%22OR%22+secure_log%29" +
+      "&fq=-repo%3A%28hst_agent+%22OR%22+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=10&facet.field=repo", solrQuery.toQueryString());
   }
 
   @Test
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/BaseServiceLogRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/BaseServiceLogRequestQueryConverterTest.java
index 45745da..e788bdc 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/BaseServiceLogRequestQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/BaseServiceLogRequestQueryConverterTest.java
@@ -53,9 +53,9 @@ public class BaseServiceLogRequestQueryConverterTest extends AbstractRequestConv
     SolrQuery solrQuery = defaultQueryParser.doConstructSolrQuery(query);
     SolrUtil.removeDoubleOrTripleEscapeFromFilters(solrQuery);
     // THEN
-    assertEquals("?q=*%3A*&start=0&rows=25&fq=type%3A%28logsearch_app+OR+secure_log%29&fq=-type%3A%28hst_agent+OR+system_message%29" +
+    assertEquals("?q=*%3A*&start=0&rows=25&fq=type%3A%28logsearch_app+%22OR%22+secure_log%29&fq=-type%3A%28hst_agent+%22OR%22+system_message%29" +
         "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=cluster%3Acl1&fq=path%3A%5C%2Fvar%5C%2Flog%5C%2Fmyfile%5C-%5C*%5C-hdfs.log" +
-        "&fq=type%3Acomponent&fq=level%3A%28FATAL+OR+ERROR+OR+WARN+OR+UNKNOWN%29&fq=host%3A%28logsearch1.com+OR+logsearch2.com%29" +
+        "&fq=type%3Acomponent&fq=level%3A%28FATAL+%22OR%22+ERROR+%22OR%22+WARN+%22OR%22+UNKNOWN%29&fq=host%3A%28logsearch1.com+%22OR%22+logsearch2.com%29" +
         "&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&sort=logtime+desc%2Cseq_num+desc",
       solrQuery.toQueryString());
   }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java
index 669ef1a..da6baac 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java
@@ -46,8 +46,8 @@ public class FieldAuditLogRequestQueryConverterTest extends AbstractRequestConve
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" +
-        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+OR+secure_log%29" +
-        "&fq=-repo%3A%28hst_agent+OR+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.pivot=myfield%2Crepo",
+        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+%22OR%22+secure_log%29" +
+        "&fq=-repo%3A%28hst_agent+%22OR%22+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.pivot=myfield%2Crepo",
       query.toQueryString());
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogAnyGraphRequestConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogAnyGraphRequestConverterTest.java
index 02819f1..4091949 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogAnyGraphRequestConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogAnyGraphRequestConverterTest.java
@@ -46,8 +46,8 @@ public class ServiceLogAnyGraphRequestConverterTest extends AbstractRequestConve
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" +
-        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+OR+secure_log%29" +
-        "&fq=-type%3A%28hst_agent+OR+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.field=level",
+        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+%22OR%22+secure_log%29" +
+        "&fq=-type%3A%28hst_agent+%22OR%22+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.field=level",
       query.toQueryString());
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentLevelRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentLevelRequestQueryConverterTest.java
index f395c88..a417c07 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentLevelRequestQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentLevelRequestQueryConverterTest.java
@@ -47,8 +47,8 @@ public class ServiceLogComponentLevelRequestQueryConverterTest extends AbstractR
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" +
-        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+OR+secure_log%29" +
-        "&fq=-type%3A%28hst_agent+OR+system_message%29&fq=type%3Amycomponent&fq=level%3A%28WARN+OR+ERROR+OR+FATAL%29&fq=cluster%3Acl1" +
+        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+%22OR%22+secure_log%29" +
+        "&fq=-type%3A%28hst_agent+%22OR%22+system_message%29&fq=type%3Amycomponent&fq=level%3A%28WARN+%22OR%22+ERROR+%22OR%22+FATAL%29&fq=cluster%3Acl1" +
         "&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=type%2Clevel",
       query.toQueryString());
   }
@@ -61,7 +61,7 @@ public class ServiceLogComponentLevelRequestQueryConverterTest extends AbstractR
     // WHEN
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
-    assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B*+TO+*%5D&fq=level%3A%28WARN+OR+ERROR+OR+FATAL%29&facet=true" +
+    assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B*+TO+*%5D&fq=level%3A%28WARN+%22OR%22+ERROR+%22OR%22+FATAL%29&facet=true" +
       "&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=type%2Clevel", query.toQueryString());
   }
 }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentRequestFacetQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentRequestFacetQueryConverterTest.java
index 8ece866..24af013 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentRequestFacetQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentRequestFacetQueryConverterTest.java
@@ -47,8 +47,8 @@ public class ServiceLogComponentRequestFacetQueryConverterTest extends AbstractR
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" +
-        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+OR+secure_log%29" +
-        "&fq=-type%3A%28hst_agent+OR+system_message%29&fq=type%3Amycomponent&fq=level%3A%28WARN+OR+ERROR+OR+FATAL%29" +
+        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+%22OR%22+secure_log%29" +
+        "&fq=-type%3A%28hst_agent+%22OR%22+system_message%29&fq=type%3Amycomponent&fq=level%3A%28WARN+%22OR%22+ERROR+%22OR%22+FATAL%29" +
         "&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=type%2Chost%2Clevel&facet.pivot=type%2Clevel",
       query.toQueryString());
   }
@@ -61,7 +61,7 @@ public class ServiceLogComponentRequestFacetQueryConverterTest extends AbstractR
     // WHEN
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
-    assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B*+TO+*%5D&fq=level%3A%28WARN+OR+ERROR+OR+FATAL%29" +
+    assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B*+TO+*%5D&fq=level%3A%28WARN+%22OR%22+ERROR+%22OR%22+FATAL%29" +
         "&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=type%2Chost%2Clevel&facet.pivot=type%2Clevel",
       query.toQueryString());
   }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelCountRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelCountRequestQueryConverterTest.java
index 54d3435..6326325 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelCountRequestQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelCountRequestQueryConverterTest.java
@@ -45,8 +45,8 @@ public class ServiceLogLevelCountRequestQueryConverterTest extends AbstractReque
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" +
-        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+OR+secure_log%29" +
-        "&fq=-type%3A%28hst_agent+OR+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.field=level",
+        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+%22OR%22+secure_log%29" +
+        "&fq=-type%3A%28hst_agent+%22OR%22+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.field=level",
       query.toQueryString());
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTreeRequestFacetQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTreeRequestFacetQueryConverterTest.java
index 7c6c9fd..b7ced1d 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTreeRequestFacetQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTreeRequestFacetQueryConverterTest.java
@@ -45,8 +45,8 @@ public class ServiceLogTreeRequestFacetQueryConverterTest extends AbstractReques
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" +
-        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+OR+secure_log%29" +
-        "&fq=-type%3A%28hst_agent+OR+system_message%29&fq=level%3A%28WARN+OR+ERROR+OR+FATAL%29&fq=cluster%3Acl1&facet=true" +
+        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+%22OR%22+secure_log%29" +
+        "&fq=-type%3A%28hst_agent+%22OR%22+system_message%29&fq=level%3A%28WARN+%22OR%22+ERROR+%22OR%22+FATAL%29&fq=cluster%3Acl1&facet=true" +
         "&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=host%2Ctype%2Clevel&facet.pivot=host%2Clevel",
       query.toQueryString());
   }
@@ -59,7 +59,7 @@ public class ServiceLogTreeRequestFacetQueryConverterTest extends AbstractReques
     // WHEN
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
-    assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B*+TO+*%5D&fq=level%3A%28WARN+OR+ERROR+OR+FATAL%29" +
+    assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B*+TO+*%5D&fq=level%3A%28WARN+%22OR%22+ERROR+%22OR%22+FATAL%29" +
         "&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=host%2Ctype%2Clevel&facet.pivot=host%2Clevel",
       query.toQueryString());
   }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTruncatedRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTruncatedRequestQueryConverterTest.java
index b2b7014..532afb4 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTruncatedRequestQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTruncatedRequestQueryConverterTest.java
@@ -47,8 +47,8 @@ public class ServiceLogTruncatedRequestQueryConverterTest extends AbstractReques
     // WHEN
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
-    assertEquals("?q=*%3A*&start=0&rows=10&fq=type%3A%28logsearch_app+OR+secure_log%29" +
-        "&fq=-type%3A%28hst_agent+OR+system_message%29&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage" +
+    assertEquals("?q=*%3A*&start=0&rows=10&fq=type%3A%28logsearch_app+%22OR%22+secure_log%29" +
+        "&fq=-type%3A%28hst_agent+%22OR%22+system_message%29&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage" +
         "&fq=cluster%3Acl1&sort=logtime+desc%2Cseq_num+desc",
       query.toQueryString());
   }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverterTest.java
index b1b4d49..81b7f73 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverterTest.java
@@ -47,8 +47,8 @@ public class TopFieldAuditLogRequestQueryConverterTest extends AbstractRequestCo
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" +
-        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+OR+secure_log%29" +
-        "&fq=-repo%3A%28hst_agent+OR+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=10&facet.pivot=myfield%2Crepo",
+        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+%22OR%22+secure_log%29" +
+        "&fq=-repo%3A%28hst_agent+%22OR%22+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=10&facet.pivot=myfield%2Crepo",
       query.toQueryString());
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/UserExportRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/UserExportRequestQueryConverterTest.java
index 1ec6414..11be1bc 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/UserExportRequestQueryConverterTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/UserExportRequestQueryConverterTest.java
@@ -46,8 +46,8 @@ public class UserExportRequestQueryConverterTest extends AbstractRequestConverte
     SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" +
-        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+OR+secure_log%29" +
-        "&fq=-repo%3A%28hst_agent+OR+system_message%29&facet=true&facet.mincount=1&facet.limit=-1&facet.pivot=reqUser%2Crepo&facet.pivot=resource%2Crepo",
+        "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+%22OR%22+secure_log%29" +
+        "&fq=-repo%3A%28hst_agent+%22OR%22+system_message%29&facet=true&facet.mincount=1&facet.limit=-1&facet.pivot=reqUser%2Crepo&facet.pivot=resource%2Crepo",
       query.toQueryString());
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java
index 407cc83..0c3ed29 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProviderTest.java
@@ -19,7 +19,6 @@
 package org.apache.ambari.logsearch.web.security;
 
 import org.apache.ambari.logsearch.conf.AuthPropsConfig;
-import org.apache.ambari.logsearch.util.CommonUtil;
 import org.apache.ambari.logsearch.web.model.User;
 import org.junit.Before;
 import org.junit.Test;
@@ -29,6 +28,8 @@ import org.springframework.security.core.Authentication;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
 
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertSame;
@@ -47,6 +48,7 @@ public class LogsearchFileAuthenticationProviderTest {
   private LogsearchFileAuthenticationProvider provider;
   private AuthPropsConfig mockAuthPropsConfig;
   private UserDetailsService mockUserDetailsService;
+  private PasswordEncoder passwordEncoder;
   
   @Before
   public void init() throws Exception {
@@ -61,6 +63,9 @@ public class LogsearchFileAuthenticationProviderTest {
     Field userDetailsServiceField = LogsearchFileAuthenticationProvider.class.getDeclaredField("userDetailsService");
     userDetailsServiceField.setAccessible(true);
     userDetailsServiceField.set(provider, mockUserDetailsService);
+
+    passwordEncoder = new BCryptPasswordEncoder();
+    provider.setPasswordEncoder(passwordEncoder);
   }
   
   @Test
@@ -190,7 +195,7 @@ public class LogsearchFileAuthenticationProviderTest {
   @Test
   public void testAuthenticationWrongPassword() {
     List<GrantedAuthority> grantedAuths = Arrays.<GrantedAuthority>asList(new SimpleGrantedAuthority("ROLE_USER"));
-    User user = new User("principal", CommonUtil.encryptPassword("principal", "notCredentials"), grantedAuths);
+    User user = new User("principal", passwordEncoder.encode("notCredentials"), grantedAuths);
     
     expect(mockAuthPropsConfig.isAuthFileEnabled()).andReturn(true);
     expect(mockUserDetailsService.loadUserByUsername("principal")).andReturn(user);
@@ -211,7 +216,8 @@ public class LogsearchFileAuthenticationProviderTest {
   @Test
   public void testAuthenticationSuccessful() {
     List<GrantedAuthority> grantedAuths = Arrays.<GrantedAuthority>asList(new SimpleGrantedAuthority("ROLE_USER"));
-    User user = new User("principal", CommonUtil.encryptPassword("principal", "credentials"), grantedAuths);
+    String encodedPassword = passwordEncoder.encode("credentials");
+    User user = new User("principal", "credentials", grantedAuths);
     
     expect(mockAuthPropsConfig.isAuthFileEnabled()).andReturn(true);
     expect(mockUserDetailsService.loadUserByUsername("principal")).andReturn(user);
@@ -219,10 +225,8 @@ public class LogsearchFileAuthenticationProviderTest {
     replay(mockAuthPropsConfig, mockUserDetailsService);
     
     Authentication authentication = new TestingAuthenticationToken("principal", "credentials");
-    
     Authentication authenticationResult = provider.authenticate(authentication);
     assertEquals("principal", authenticationResult.getName());
-    assertEquals(CommonUtil.encryptPassword("principal", "credentials"), authenticationResult.getCredentials());
     assertEquals(1, authenticationResult.getAuthorities().size());
     assertEquals(new SimpleGrantedAuthority("ROLE_USER"), authenticationResult.getAuthorities().iterator().next());
     
diff --git a/ambari-logsearch/docker/Dockerfile b/ambari-logsearch/docker/Dockerfile
index c1101cb..4e7724c 100644
--- a/ambari-logsearch/docker/Dockerfile
+++ b/ambari-logsearch/docker/Dockerfile
@@ -22,10 +22,11 @@ RUN yum -y install glibc-common
 ENV HOME /root
 
 #Install JAVA
-ENV JAVA_VERSION 8u131
-ENV BUILD_VERSION b11
-RUN wget --no-check-certificate --no-cookies --header "Cookie:oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-$BUILD_VERSION/d54c1d3a095b4ff2b6607d096fa80163/jdk-$JAVA_VERSION-linux-x64.rpm -O jdk-8-linux-x64.rpm
-RUN rpm -ivh jdk-8-linux-x64.rpm
+ENV JAVA_VERSION 10.0.2
+ENV BUILD_VERSION 13
+
+RUN wget --no-check-certificate --no-cookies --header "Cookie:oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION+$BUILD_VERSION/19aef61b38124481863b1413dce1855f/jdk-${JAVA_VERSION}_linux-x64_bin.rpm -O jdk-10-linux-x64.rpm
+RUN rpm -ivh jdk-10-linux-x64.rpm
 ENV JAVA_HOME /usr/java/default/
 
 #Install Selenium server
diff --git a/ambari-logsearch/pom.xml b/ambari-logsearch/pom.xml
index 3fc5974..bb434d9 100644
--- a/ambari-logsearch/pom.xml
+++ b/ambari-logsearch/pom.xml
@@ -39,7 +39,7 @@
     <module>ambari-logsearch-config-solr</module>
   </modules>
   <properties>
-    <jdk.version>1.8</jdk.version>
+    <jdk.version>10</jdk.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <python.ver>python &gt;= 2.6</python.ver>
     <deb.python.ver>python (&gt;= 2.6)</deb.python.ver>
@@ -202,7 +202,7 @@
       </plugin>
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.2</version>
+        <version>3.7.0</version>
         <configuration>
           <source>${jdk.version}</source>
           <target>${jdk.version}</target>


[ambari] 05/12: add log4j2 support

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 30f24a2017324490ad63b0a3dd733dd1c0f283d5
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Sun Sep 23 14:52:37 2018 +0200

    add log4j2 support
---
 ambari-logsearch/ambari-logsearch-appender/pom.xml |   4 +-
 .../appender/LogsearchRollingFileAppender.java     |   2 +-
 .../apache/ambari/logsearch/appender/AppTest.java  |   2 +-
 .../ambari-logsearch-config-api/pom.xml            |   5 +-
 .../config/api/LogLevelFilterUpdater.java          |   6 +-
 .../config/api/LogSearchConfigFactory.java         |  12 +--
 .../ambari-logsearch-config-json/pom.xml           |   5 -
 .../config/local/LogLevelFilterManagerLocal.java   |   8 +-
 .../config/local/LogSearchConfigLocalUpdater.java  |  18 ++--
 .../local/LogSearchConfigLogFeederLocal.java       |   6 +-
 .../config/local/LogSearchConfigServerLocal.java   |   1 -
 .../config/solr/LogLevelFilterManagerSolr.java     |  18 ++--
 .../config/solr/LogLevelFilterUpdaterSolr.java     |  16 +--
 .../config/zookeeper/LogLevelFilterManagerZK.java  |  12 +--
 .../zookeeper/LogSearchConfigLogFeederZK.java      |  21 ++--
 .../config/zookeeper/LogSearchConfigServerZK.java  |   9 +-
 .../config/zookeeper/LogSearchConfigZK.java        |  12 +--
 .../config/zookeeper/LogSearchConfigZKHelper.java  |  14 +--
 .../pom.xml                                        |  27 +++--
 .../logsearch/layout/LogSearchJsonLayout.java      | 120 +++++++++++++++++++++
 .../ambari/logsearch/layout/LayoutTest.java}       |  35 +++---
 .../src/test/resources/log4j2.xml                  |  39 +++++++
 .../pom.xml                                        |  19 +---
 .../logfeeder/docker/DockerContainerRegistry.java  |   6 +-
 .../docker/DockerContainerRegistryMonitor.java     |   6 +-
 .../command/DockerInspectContainerCommand.java     |   6 +-
 .../docker/command/DockerListContainerCommand.java |   6 +-
 .../ambari-logsearch-logfeeder-plugin-api/pom.xml  |   5 +-
 .../ambari/logfeeder/plugin/common/AliasUtil.java  |  18 ++--
 .../ambari/logfeeder/plugin/common/ConfigItem.java |   8 +-
 .../ambari/logfeeder/plugin/filter/Filter.java     |  10 +-
 .../ambari/logfeeder/plugin/input/Input.java       |  16 +--
 .../ambari/logfeeder/plugin/output/Output.java     |   6 +-
 .../ambari-logsearch-logfeeder/build.xml           |   2 +-
 .../ambari-logsearch-logfeeder/pom.xml             |  67 +++++++++---
 .../ambari/logfeeder/common/ConfigHandler.java     |  41 +++----
 .../common/LogFeederSolrClientFactory.java         |  12 +--
 .../logfeeder/conf/LogFeederSecurityConfig.java    |  10 +-
 .../apache/ambari/logfeeder/filter/FilterGrok.java |  25 ++---
 .../apache/ambari/logfeeder/filter/FilterJSON.java |   8 +-
 .../ambari/logfeeder/filter/FilterKeyValue.java    |  13 +--
 .../logfeeder/input/InputConfigUploader.java       |  12 +--
 .../apache/ambari/logfeeder/input/InputFile.java   |  66 ++++++------
 .../ambari/logfeeder/input/InputManagerImpl.java   |  30 +++---
 .../apache/ambari/logfeeder/input/InputS3File.java |  18 ++--
 .../ambari/logfeeder/input/InputSimulate.java      |   8 +-
 .../apache/ambari/logfeeder/input/InputSocket.java |  20 ++--
 .../logfeeder/input/file/ProcessFileHelper.java    |  35 +++---
 .../file/checkpoint/FileCheckpointManager.java     |  21 ++--
 .../file/checkpoint/util/FileCheckInHelper.java    |  11 +-
 .../util/FileCheckpointCleanupHelper.java          |  30 +++---
 .../checkpoint/util/ResumeLineNumberHelper.java    |  18 ++--
 .../input/monitor/AbstractLogFileMonitor.java      |   6 +-
 .../input/monitor/CheckpointCleanupMonitor.java    |   8 +-
 .../input/monitor/DockerLogFileUpdateMonitor.java  |  18 ++--
 .../input/monitor/LogFileDetachMonitor.java        |  10 +-
 .../input/monitor/LogFilePathUpdateMonitor.java    |  12 +--
 .../ambari/logfeeder/input/reader/GZIPReader.java  |   9 +-
 .../input/reader/LogsearchReaderFactory.java       |   9 +-
 .../loglevelfilter/LogLevelFilterHandler.java      |  18 ++--
 .../ambari/logfeeder/mapper/MapperAnonymize.java   |  11 +-
 .../apache/ambari/logfeeder/mapper/MapperDate.java |  15 +--
 .../ambari/logfeeder/mapper/MapperFieldCopy.java   |   7 +-
 .../ambari/logfeeder/mapper/MapperFieldName.java   |  11 +-
 .../ambari/logfeeder/mapper/MapperFieldValue.java  |  11 +-
 .../logfeeder/metrics/LogFeederAMSClient.java      |   7 +-
 .../ambari/logfeeder/metrics/MetricsManager.java   |  33 +++---
 .../ambari/logfeeder/metrics/StatsLogger.java      |   8 +-
 .../ambari/logfeeder/output/OutputDevNull.java     |   7 +-
 .../apache/ambari/logfeeder/output/OutputFile.java |  15 +--
 .../ambari/logfeeder/output/OutputHDFSFile.java    |  37 +++----
 .../ambari/logfeeder/output/OutputKafka.java       |  39 +++----
 .../ambari/logfeeder/output/OutputLineFilter.java  |   9 +-
 .../ambari/logfeeder/output/OutputManagerImpl.java |  25 ++---
 .../ambari/logfeeder/output/OutputS3File.java      |  12 +--
 .../apache/ambari/logfeeder/output/OutputSolr.java |  53 ++++-----
 .../apache/ambari/logfeeder/output/S3Uploader.java |  26 ++---
 .../ambari/logfeeder/output/spool/LogSpooler.java  |  23 ++--
 .../ambari/logfeeder/util/CompressionUtil.java     |  11 +-
 .../org/apache/ambari/logfeeder/util/DateUtil.java |  13 +--
 .../org/apache/ambari/logfeeder/util/FileUtil.java |  22 ++--
 .../ambari/logfeeder/util/LogFeederHDFSUtil.java   |  13 +--
 .../ambari/logfeeder/util/LogFeederUtil.java       |  19 ++--
 .../org/apache/ambari/logfeeder/util/S3Util.java   |  38 +++----
 .../src/main/resources/log4j.xml                   |  67 ------------
 .../src/main/resources/log4j2.yml                  |  74 +++++++++++++
 ambari-logsearch/ambari-logsearch-server/build.xml |   2 +-
 ambari-logsearch/ambari-logsearch-server/pom.xml   |  39 +++++--
 .../logsearch/auth/filter/AbstractJWTFilter.java   |  18 ++--
 .../ambari/logsearch/common/ApiDocStorage.java     |  10 +-
 .../logsearch/common/ExternalServerClient.java     |   7 +-
 .../LogLevelManagerFilterConfigurer.java           |   6 +-
 .../configurer/LogSearchConfigConfigurer.java      |   6 +-
 .../configurer/SolrAuditAliasConfigurer.java       |  28 ++---
 .../configurer/SolrCollectionConfigurer.java       |  32 +++---
 .../ambari/logsearch/configurer/SslConfigurer.java |  26 ++---
 .../apache/ambari/logsearch/dao/AuditSolrDao.java  |   7 +-
 .../ambari/logsearch/dao/EventHistorySolrDao.java  |   9 +-
 .../org/apache/ambari/logsearch/dao/RoleDao.java   |  18 ++--
 .../ambari/logsearch/dao/ServiceLogsSolrDao.java   |   9 +-
 .../apache/ambari/logsearch/dao/SolrDaoBase.java   |  19 ++--
 .../ambari/logsearch/dao/SolrSchemaFieldDao.java   |  20 ++--
 .../org/apache/ambari/logsearch/dao/UserDao.java   |   5 +-
 .../ambari/logsearch/handler/ACLHandler.java       |  14 +--
 .../handler/AbstractSolrConfigHandler.java         |   8 +-
 .../logsearch/handler/CreateCollectionHandler.java |  36 +++----
 .../logsearch/handler/ListCollectionHandler.java   |  10 +-
 .../logsearch/handler/ReloadCollectionHandler.java |  10 +-
 .../handler/UploadConfigurationHandler.java        |  18 ++--
 .../ambari/logsearch/manager/AuditLogsManager.java |   5 +-
 .../logsearch/manager/EventHistoryManager.java     |   8 +-
 .../ambari/logsearch/manager/ManagerBase.java      |   5 +-
 .../logsearch/manager/ServiceLogsManager.java      |   5 +-
 .../ambari/logsearch/manager/SessionManager.java   |   5 +-
 .../logsearch/manager/ShipperConfigManager.java    |   5 +-
 .../ambari/logsearch/service/UserService.java      |   6 +-
 .../org/apache/ambari/logsearch/util/FileUtil.java |   5 +-
 .../org/apache/ambari/logsearch/util/JSONUtil.java |   5 +-
 .../authenticate/LogsearchAuthFailureHandler.java  |   5 +-
 .../LogsearchLogoutSuccessHandler.java             |   5 +-
 .../filters/LogsearchAuthenticationEntryPoint.java |   6 +-
 .../logsearch/web/filters/LogsearchFilter.java     |   8 +-
 .../filters/LogsearchKRBAuthenticationFilter.java  |   7 +-
 .../logsearch/web/filters/LogsearchKrbFilter.java  |   6 +-
 .../LogsearchSecurityContextFormationFilter.java   |   5 +-
 .../web/filters/LogsearchTrustedProxyFilter.java   |  12 +--
 ...searchUsernamePasswordAuthenticationFilter.java |   5 +-
 .../web/listener/LogSearchSessionListener.java     |  10 +-
 .../security/LogsearchAuthenticationProvider.java  |   9 +-
 ...searchExternalServerAuthenticationProvider.java |  11 +-
 .../LogsearchFileAuthenticationProvider.java       |   5 +-
 .../LogsearchLdapAuthenticationProvider.java       |   8 +-
 .../LogsearchSimpleAuthenticationProvider.java     |   5 +-
 .../src/main/resources/log4j.xml                   |  86 ---------------
 .../src/main/resources/log4j2.yml                  | 106 ++++++++++++++++++
 ambari-logsearch/docker/bin/start.sh               |   2 +-
 .../docker/test-config/logfeeder/log4j.xml         |  43 --------
 .../docker/test-config/logfeeder/log4j2.yml        |  50 +++++++++
 .../docker/test-config/logsearch/log4j.xml         |  49 ---------
 .../docker/test-config/logsearch/log4j2.yml        |  50 +++++++++
 .../test-config/logsearch/logsearch.properties     |   2 +-
 ambari-logsearch/pom.xml                           |  23 +++-
 142 files changed, 1420 insertions(+), 1145 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-appender/pom.xml b/ambari-logsearch/ambari-logsearch-appender/pom.xml
index 65a68a9..f265bef 100644
--- a/ambari-logsearch/ambari-logsearch-appender/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-appender/pom.xml
@@ -32,8 +32,8 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.7</maven.compiler.source>
-    <maven.compiler.target>1.7</maven.compiler.target>
+    <maven.compiler.source>10</maven.compiler.source>
+    <maven.compiler.target>10</maven.compiler.target>
     <jar.finalName>ambari-logsearch-appender</jar.finalName>
   </properties>
 
diff --git a/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchRollingFileAppender.java b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchRollingFileAppender.java
index 6a93db5..6fb877e 100644
--- a/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchRollingFileAppender.java
+++ b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchRollingFileAppender.java
@@ -25,7 +25,7 @@ import org.apache.log4j.RollingFileAppender;
 import org.apache.log4j.spi.LoggingEvent;
 
 public class LogsearchRollingFileAppender extends RollingFileAppender {
-  private static Logger logger = Logger.getLogger(LogsearchRollingFileAppender.class);
+  private static final Logger logger = Logger.getLogger(LogsearchRollingFileAppender.class);
 
   public LogsearchRollingFileAppender() {
     logger.trace("Initializing LogsearchRollingFileAppender........... ");
diff --git a/ambari-logsearch/ambari-logsearch-appender/src/test/java/org/apache/ambari/logsearch/appender/AppTest.java b/ambari-logsearch/ambari-logsearch-appender/src/test/java/org/apache/ambari/logsearch/appender/AppTest.java
index 8152787..5369926 100644
--- a/ambari-logsearch/ambari-logsearch-appender/src/test/java/org/apache/ambari/logsearch/appender/AppTest.java
+++ b/ambari-logsearch/ambari-logsearch-appender/src/test/java/org/apache/ambari/logsearch/appender/AppTest.java
@@ -22,7 +22,7 @@ package org.apache.ambari.logsearch.appender;
 import org.apache.log4j.Logger;
 
 public class AppTest {
-  private static Logger logger = Logger.getLogger(AppTest.class);
+  private static final Logger logger = Logger.getLogger(AppTest.class);
 
   public static void main(String[] args) {
 
diff --git a/ambari-logsearch/ambari-logsearch-config-api/pom.xml b/ambari-logsearch/ambari-logsearch-config-api/pom.xml
index 59286a6..ffa66ce 100644
--- a/ambari-logsearch/ambari-logsearch-config-api/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-config-api/pom.xml
@@ -41,9 +41,8 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.7.20</version>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-api</artifactId>
     </dependency>
   </dependencies>
 </project>
diff --git a/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/LogLevelFilterUpdater.java b/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/LogLevelFilterUpdater.java
index 425cdc8..83cbe81 100644
--- a/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/LogLevelFilterUpdater.java
+++ b/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/LogLevelFilterUpdater.java
@@ -18,15 +18,15 @@
  */
 package org.apache.ambari.logsearch.config.api;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * Used for connect a remote source periodically to get / set log level filters.
  */
 public abstract class LogLevelFilterUpdater extends Thread {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogLevelFilterUpdater.class);
+  private static final Logger LOG = LogManager.getLogger(LogLevelFilterUpdater.class);
 
   private final LogLevelFilterMonitor logLevelFilterMonitor;
   private final int interval;
diff --git a/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/LogSearchConfigFactory.java b/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/LogSearchConfigFactory.java
index 8b2c17d..312fb51 100644
--- a/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/LogSearchConfigFactory.java
+++ b/ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/LogSearchConfigFactory.java
@@ -19,16 +19,16 @@
 
 package org.apache.ambari.logsearch.config.api;
 
-import java.util.Map;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.util.Map;
 
 /**
  * Factory class for LogSearchConfigServer and LogSearchConfigLogFeeder.
  */
 public class LogSearchConfigFactory {
-  private static final Logger LOG = LoggerFactory.getLogger(LogSearchConfigFactory.class);
+  private static final Logger logger = LogManager.getLogger(LogSearchConfigFactory.class);
 
   /**
    * Creates a Log Search Configuration instance for the Log Search Server that implements
@@ -63,7 +63,7 @@ public class LogSearchConfigFactory {
       }
       return logSearchConfig;
     } catch (Exception e) {
-      LOG.error("Could not initialize logsearch config.", e);
+      logger.error("Could not initialize logsearch config.", e);
       throw e;
     }
   }
@@ -102,7 +102,7 @@ public class LogSearchConfigFactory {
       }
       return logSearchConfig;
     } catch (Exception e) {
-      LOG.error("Could not initialize logsearch config.", e);
+      logger.error("Could not initialize logsearch config.", e);
       throw e;
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-config-json/pom.xml b/ambari-logsearch/ambari-logsearch-config-json/pom.xml
index cdccbba..9b33fe0 100644
--- a/ambari-logsearch/ambari-logsearch-config-json/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-config-json/pom.xml
@@ -51,11 +51,6 @@
       <version>3.2.2</version>
     </dependency>
     <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.7.20</version>
-    </dependency>
-    <dependency>
       <groupId>com.google.code.gson</groupId>
       <artifactId>gson</artifactId>
       <version>2.6.2</version>
diff --git a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogLevelFilterManagerLocal.java b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogLevelFilterManagerLocal.java
index 5ca210d..810e89a 100644
--- a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogLevelFilterManagerLocal.java
+++ b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogLevelFilterManagerLocal.java
@@ -22,8 +22,8 @@ import com.google.gson.Gson;
 import org.apache.ambari.logsearch.config.api.LogLevelFilterManager;
 import org.apache.ambari.logsearch.config.api.model.loglevelfilter.LogLevelFilter;
 import org.apache.ambari.logsearch.config.api.model.loglevelfilter.LogLevelFilterMap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.io.FilenameFilter;
@@ -40,7 +40,7 @@ import java.util.TreeMap;
  */
 public class LogLevelFilterManagerLocal implements LogLevelFilterManager {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogLevelFilterManagerLocal.class);
+  private static final Logger logger = LogManager.getLogger(LogLevelFilterManagerLocal.class);
 
   private final String configDir;
   private final Gson gson;
@@ -75,7 +75,7 @@ public class LogLevelFilterManagerLocal implements LogLevelFilterManager {
         if (!logLevelFilterJson.equals(currentLogLevelFilterJson)) {
           byte[] data = logLevelFilterJson.getBytes(StandardCharsets.UTF_8);
           Files.write(filePath, data);
-          LOG.info("Set log level filter for the log " + e.getKey() + " for cluster " + clusterName);
+          logger.info("Set log level filter for the log " + e.getKey() + " for cluster " + clusterName);
         }
       }
     }
diff --git a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigLocalUpdater.java b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigLocalUpdater.java
index 76379ec..3f6aec8 100644
--- a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigLocalUpdater.java
+++ b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigLocalUpdater.java
@@ -22,11 +22,11 @@ import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonParser;
 import org.apache.ambari.logsearch.config.api.InputConfigMonitor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.ambari.logsearch.config.json.JsonHelper;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputConfigGson;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputConfigImpl;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.io.IOException;
@@ -52,7 +52,7 @@ import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;
  */
 public class LogSearchConfigLocalUpdater implements Runnable {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogSearchConfigLocalUpdater.class);
+  private static final Logger logger = LogManager.getLogger(LogSearchConfigLocalUpdater.class);
 
   private final Path path;
   private final WatchService watchService;
@@ -80,7 +80,7 @@ public class LogSearchConfigLocalUpdater implements Runnable {
     try {
       register(this.path, keys, watchService);
     } catch (IOException e) {
-      LOG.error("{}", e);
+      logger.error("{}", e);
       throw new RuntimeException(e);
     }
     while (!Thread.interrupted()) {
@@ -105,13 +105,13 @@ public class LogSearchConfigLocalUpdater implements Runnable {
             String serviceName = m.group(1);
             try {
               if (kind == ENTRY_CREATE) {
-                LOG.info("New input config entry found: {}", absPath);
+                logger.info("New input config entry found: {}", absPath);
                 String inputConfig = new String(Files.readAllBytes(monitoredInput));
                 JsonElement inputConfigJson = JsonHelper.mergeGlobalConfigWithInputConfig(parser, inputConfig, globalConfigNode);
                 inputConfigMonitor.loadInputConfigs(serviceName, InputConfigGson.gson.fromJson(inputConfigJson, InputConfigImpl.class));
                 inputFileContentsMap.put(absPath, inputConfig);
               } else if (kind == ENTRY_MODIFY) {
-                LOG.info("Input config entry modified: {}", absPath);
+                logger.info("Input config entry modified: {}", absPath);
                 if (inputFileContentsMap.containsKey(absPath)) {
                   String oldContent = inputFileContentsMap.get(absPath);
                   String inputConfig = new String(Files.readAllBytes(monitoredInput));
@@ -124,20 +124,20 @@ public class LogSearchConfigLocalUpdater implements Runnable {
                   }
                 }
               } else if (kind == ENTRY_DELETE) {
-                LOG.info("Input config deleted: {}", absPath);
+                logger.info("Input config deleted: {}", absPath);
                 if (inputFileContentsMap.containsKey(absPath)) {
                   inputConfigMonitor.removeInputs(serviceName);
                   inputFileContentsMap.remove(absPath);
                 }
               }
             } catch (Exception e) {
-              LOG.error("{}", e);
+              logger.error("{}", e);
               break;
             }
           }
         }
         if (!key.reset()) {
-          LOG.info("{} is invalid", key);
+          logger.info("{} is invalid", key);
           keys.remove(key);
           if (keys.isEmpty()) {
             break;
diff --git a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigLogFeederLocal.java b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigLogFeederLocal.java
index 2a02cb5..f6cb519 100644
--- a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigLogFeederLocal.java
+++ b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigLogFeederLocal.java
@@ -24,11 +24,11 @@ import com.google.gson.JsonParser;
 import org.apache.ambari.logsearch.config.api.InputConfigMonitor;
 import org.apache.ambari.logsearch.config.api.LogLevelFilterMonitor;
 import org.apache.ambari.logsearch.config.api.LogSearchConfigLogFeeder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.ambari.logsearch.config.json.JsonHelper;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputConfigGson;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputConfigImpl;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.io.IOException;
@@ -48,7 +48,7 @@ import java.util.regex.Matcher;
  */
 public class LogSearchConfigLogFeederLocal extends LogSearchConfigLocal implements LogSearchConfigLogFeeder {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogSearchConfigLogFeederLocal.class);
+  private static final Logger logger = LogManager.getLogger(LogSearchConfigLogFeederLocal.class);
 
   private String configDir;
 
diff --git a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigServerLocal.java b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigServerLocal.java
index 13aacd0..3f814ac 100644
--- a/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigServerLocal.java
+++ b/ambari-logsearch/ambari-logsearch-config-local/src/main/java/org/apache/ambari/logsearch/config/local/LogSearchConfigServerLocal.java
@@ -20,7 +20,6 @@ package org.apache.ambari.logsearch.config.local;
 
 import org.apache.ambari.logsearch.config.api.LogSearchConfigServer;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.InputConfig;
-import org.apache.ambari.logsearch.config.api.model.loglevelfilter.LogLevelFilter;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/org/apache/ambari/logsearch/config/solr/LogLevelFilterManagerSolr.java b/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/org/apache/ambari/logsearch/config/solr/LogLevelFilterManagerSolr.java
index 0eabead..90005fa 100644
--- a/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/org/apache/ambari/logsearch/config/solr/LogLevelFilterManagerSolr.java
+++ b/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/org/apache/ambari/logsearch/config/solr/LogLevelFilterManagerSolr.java
@@ -23,6 +23,8 @@ import com.google.gson.GsonBuilder;
 import org.apache.ambari.logsearch.config.api.LogLevelFilterManager;
 import org.apache.ambari.logsearch.config.api.model.loglevelfilter.LogLevelFilter;
 import org.apache.ambari.logsearch.config.api.model.loglevelfilter.LogLevelFilterMap;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.response.QueryResponse;
@@ -30,8 +32,6 @@ import org.apache.solr.client.solrj.response.SolrPingResponse;
 import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.SolrDocumentList;
 import org.apache.solr.common.SolrInputDocument;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.Map;
 import java.util.TreeMap;
@@ -41,7 +41,7 @@ import java.util.TreeMap;
  */
 public class LogLevelFilterManagerSolr implements LogLevelFilterManager {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogLevelFilterManagerSolr.class);
+  private static final Logger logger = LogManager.getLogger(LogLevelFilterManagerSolr.class);
 
   private static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS";
   private final SolrClient solrClient;
@@ -66,7 +66,7 @@ public class LogLevelFilterManagerSolr implements LogLevelFilterManager {
     doc.addField("rowtype", "log_level_filter");
     doc.addField("jsons", gson.toJson(filter));
     doc.addField("username", "default");
-    LOG.debug("Creating log level filter - logid: {}, cluster: {}", logId, clusterName);
+    logger.debug("Creating log level filter - logid: {}, cluster: {}", logId, clusterName);
     solrClient.add(doc);
   }
 
@@ -130,7 +130,7 @@ public class LogLevelFilterManagerSolr implements LogLevelFilterManager {
         }
       }
     } catch (Exception e) {
-      LOG.error("Error during getting log level filters: {}", e.getMessage());
+      logger.error("Error during getting log level filters: {}", e.getMessage());
     }
     logLevelFilterMap.setFilter(logLevelFilterTreeMap);
     return logLevelFilterMap;
@@ -152,20 +152,20 @@ public class LogLevelFilterManagerSolr implements LogLevelFilterManager {
     boolean solrAvailable = false;
     while (!solrAvailable) {
       try {
-        LOG.debug("Start solr ping for log level filter collection");
+        logger.debug("Start solr ping for log level filter collection");
         SolrPingResponse pingResponse = solrClient.ping();
         if (pingResponse.getStatus() == 0) {
           solrAvailable = true;
           break;
         }
       } catch (Exception e) {
-        LOG.error("{}", e);
+        logger.error("{}", e);
       }
-      LOG.info("Solr (collection for log level filters) is not available yet. Sleeping 10 sec. Retrying...");
+      logger.info("Solr (collection for log level filters) is not available yet. Sleeping 10 sec. Retrying...");
       try {
         Thread.sleep(10000);
       } catch (InterruptedException e) {
-        LOG.error("{}", e);
+        logger.error("{}", e);
       }
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/org/apache/ambari/logsearch/config/solr/LogLevelFilterUpdaterSolr.java b/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/org/apache/ambari/logsearch/config/solr/LogLevelFilterUpdaterSolr.java
index 534a60c..9e2c2f3 100644
--- a/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/org/apache/ambari/logsearch/config/solr/LogLevelFilterUpdaterSolr.java
+++ b/ambari-logsearch/ambari-logsearch-config-solr/src/main/java/org/apache/ambari/logsearch/config/solr/LogLevelFilterUpdaterSolr.java
@@ -23,8 +23,8 @@ import org.apache.ambari.logsearch.config.api.LogLevelFilterMonitor;
 import org.apache.ambari.logsearch.config.api.LogLevelFilterUpdater;
 import org.apache.ambari.logsearch.config.api.model.loglevelfilter.LogLevelFilter;
 import org.apache.ambari.logsearch.config.api.model.loglevelfilter.LogLevelFilterMap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -34,7 +34,7 @@ import java.util.concurrent.ConcurrentHashMap;
  */
 public class LogLevelFilterUpdaterSolr extends LogLevelFilterUpdater {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogLevelFilterUpdaterSolr.class);
+  private static final Logger logger = LogManager.getLogger(LogLevelFilterUpdaterSolr.class);
 
   private final LogLevelFilterManagerSolr logLevelFilterManagerSolr;
   private final String cluster;
@@ -49,7 +49,7 @@ public class LogLevelFilterUpdaterSolr extends LogLevelFilterUpdater {
   @Override
   protected void checkFilters(LogLevelFilterMonitor logLevelFilterMonitor) {
     try {
-      LOG.debug("Start checking log level filters in Solr ...");
+      logger.debug("Start checking log level filters in Solr ...");
       LogLevelFilterMap logLevelFilterMap = logLevelFilterManagerSolr.getLogLevelFilters(cluster);
       Map<String, LogLevelFilter> filters = logLevelFilterMap.getFilter();
       Map<String, LogLevelFilter> copiedStoredFilters = new ConcurrentHashMap<>(logLevelFilterMonitor.getLogLevelFilters());
@@ -59,22 +59,22 @@ public class LogLevelFilterUpdaterSolr extends LogLevelFilterUpdater {
           String remoteValue = gson.toJson(logFilterEntry.getValue());
           String storedValue = gson.toJson(copiedStoredFilters.get(logFilterEntry.getKey()));
           if (!storedValue.equals(remoteValue)) {
-            LOG.info("Log level filter updated for {}", logFilterEntry.getKey());
+            logger.info("Log level filter updated for {}", logFilterEntry.getKey());
             logLevelFilterMonitor.setLogLevelFilter(logFilterEntry.getKey(), logFilterEntry.getValue());
           }
         } else {
-          LOG.info("New log level filter registered: {}", logFilterEntry.getKey());
+          logger.info("New log level filter registered: {}", logFilterEntry.getKey());
           logLevelFilterMonitor.setLogLevelFilter(logFilterEntry.getKey(), logFilterEntry.getValue());
         }
       }
       for (Map.Entry<String, LogLevelFilter> storedLogFilterEntry : copiedStoredFilters.entrySet()) {
         if (!filters.containsKey(storedLogFilterEntry.getKey())) {
-          LOG.info("Removing log level filter: {}", storedLogFilterEntry.getKey());
+          logger.info("Removing log level filter: {}", storedLogFilterEntry.getKey());
           logLevelFilterMonitor.removeLogLevelFilter(storedLogFilterEntry.getKey());
         }
       }
     } catch (Exception e) {
-      LOG.error("Error during filter Solr check: {}",e);
+      logger.error("Error during filter Solr check: {}",e);
     }
   }
 }
diff --git a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogLevelFilterManagerZK.java b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogLevelFilterManagerZK.java
index e62ec1b..81c3f23 100644
--- a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogLevelFilterManagerZK.java
+++ b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogLevelFilterManagerZK.java
@@ -25,10 +25,10 @@ import org.apache.ambari.logsearch.config.api.model.loglevelfilter.LogLevelFilte
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.recipes.cache.ChildData;
 import org.apache.curator.framework.recipes.cache.TreeCache;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.data.ACL;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.List;
 import java.util.Map;
@@ -36,7 +36,7 @@ import java.util.TreeMap;
 
 public class LogLevelFilterManagerZK implements LogLevelFilterManager {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogLevelFilterManagerZK.class);
+  private static final Logger logger = LogManager.getLogger(LogLevelFilterManagerZK.class);
 
   private final CuratorFramework client;
   private final TreeCache serverCache;
@@ -72,9 +72,9 @@ public class LogLevelFilterManagerZK implements LogLevelFilterManager {
     String logLevelFilterJson = gson.toJson(filter);
     try {
       client.create().creatingParentContainersIfNeeded().withACL(aclList).forPath(nodePath, logLevelFilterJson.getBytes());
-      LOG.info("Uploaded log level filter for the log " + logId + " for cluster " + clusterName);
+      logger.info("Uploaded log level filter for the log " + logId + " for cluster " + clusterName);
     } catch (KeeperException.NodeExistsException e) {
-      LOG.debug("Did not upload log level filters for log " + logId + " as it was already uploaded by another Log Feeder");
+      logger.debug("Did not upload log level filters for log " + logId + " as it was already uploaded by another Log Feeder");
     }
   }
 
@@ -86,7 +86,7 @@ public class LogLevelFilterManagerZK implements LogLevelFilterManager {
       String currentLogLevelFilterJson = new String(serverCache.getCurrentData(nodePath).getData());
       if (!logLevelFilterJson.equals(currentLogLevelFilterJson)) {
         client.setData().forPath(nodePath, logLevelFilterJson.getBytes());
-        LOG.info("Set log level filter for the log " + e.getKey() + " for cluster " + clusterName);
+        logger.info("Set log level filter for the log " + e.getKey() + " for cluster " + clusterName);
       }
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigLogFeederZK.java b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigLogFeederZK.java
index 0c565d3..6fc2ea0 100644
--- a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigLogFeederZK.java
+++ b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigLogFeederZK.java
@@ -35,16 +35,17 @@ import org.apache.curator.framework.recipes.cache.TreeCacheEvent;
 import org.apache.curator.framework.recipes.cache.TreeCacheEvent.Type;
 import org.apache.curator.framework.recipes.cache.TreeCacheListener;
 import org.apache.curator.utils.ZKPaths;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonParser;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.zookeeper.KeeperException;
 
 public class LogSearchConfigLogFeederZK extends LogSearchConfigZK implements LogSearchConfigLogFeeder {
-  private static final Logger LOG = LoggerFactory.getLogger(LogSearchConfigLogFeederZK.class);
+  private static final Logger logger = LogManager.getLogger(LogSearchConfigLogFeederZK.class);
 
   private TreeCache logFeederClusterCache;
 
@@ -99,16 +100,16 @@ public class LogSearchConfigLogFeederZK extends LogSearchConfigZK implements Log
       private void handleInputConfigChange(Type eventType, String nodeName, String nodeData) {
         switch (eventType) {
           case NODE_ADDED:
-            LOG.info("Node added under input ZK node: " + nodeName);
+            logger.info("Node added under input ZK node: " + nodeName);
             addInputs(nodeName, nodeData);
             break;
           case NODE_UPDATED:
-            LOG.info("Node updated under input ZK node: " + nodeName);
+            logger.info("Node updated under input ZK node: " + nodeName);
             removeInputs(nodeName);
             addInputs(nodeName, nodeData);
             break;
           case NODE_REMOVED:
-            LOG.info("Node removed from input ZK node: " + nodeName);
+            logger.info("Node removed from input ZK node: " + nodeName);
             removeInputs(nodeName);
             break;
           default:
@@ -133,7 +134,7 @@ public class LogSearchConfigLogFeederZK extends LogSearchConfigZK implements Log
           
           inputConfigMonitor.loadInputConfigs(serviceName, InputConfigGson.gson.fromJson(inputConfigJson, InputConfigImpl.class));
         } catch (Exception e) {
-          LOG.error("Could not load input configuration for service " + serviceName + ":\n" + inputConfig, e);
+          logger.error("Could not load input configuration for service " + serviceName + ":\n" + inputConfig, e);
         }
       }
     };
@@ -152,7 +153,11 @@ public class LogSearchConfigLogFeederZK extends LogSearchConfigZK implements Log
         client.create().creatingParentContainersIfNeeded().withACL(LogSearchConfigZKHelper.getAcls(properties)).forPath(globalConfigNodePath, data.getBytes());
       }
     } catch (Exception e) {
-      LOG.warn("Exception during global config node creation/update", e);
+      if (e instanceof KeeperException.NodeExistsException) {
+        logger.info("Node '{}' already exists. It won't be re-created.", globalConfigNodePath);
+      } else {
+        logger.warn("Exception during global config node creation/update", e);
+      }
     }
   }
 }
diff --git a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigServerZK.java b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigServerZK.java
index 7380c6b..5bcdefc 100644
--- a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigServerZK.java
+++ b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigServerZK.java
@@ -22,7 +22,6 @@ package org.apache.ambari.logsearch.config.zookeeper;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.TreeMap;
 
 import org.apache.ambari.logsearch.config.api.LogLevelFilterManager;
 import org.apache.ambari.logsearch.config.api.LogSearchConfigServer;
@@ -32,14 +31,14 @@ import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputConfi
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputConfigImpl;
 import org.apache.curator.framework.recipes.cache.ChildData;
 import org.apache.curator.framework.recipes.cache.TreeCache;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import com.google.gson.JsonArray;
 import com.google.gson.JsonParser;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 public class LogSearchConfigServerZK extends LogSearchConfigZK implements LogSearchConfigServer {
-  private static final Logger LOG = LoggerFactory.getLogger(LogSearchConfigServerZK.class);
+  private static final Logger logger = LogManager.getLogger(LogSearchConfigServerZK.class);
 
   private TreeCache serverCache;
 
@@ -66,7 +65,7 @@ public class LogSearchConfigServerZK extends LogSearchConfigZK implements LogSea
   public void setInputConfig(String clusterName, String serviceName, String inputConfig) throws Exception {
     String nodePath = String.format("/%s/input/%s", clusterName, serviceName);
     client.setData().forPath(nodePath, inputConfig.getBytes());
-    LOG.info("Set input config for the service " + serviceName + " for cluster " + clusterName);
+    logger.info("Set input config for the service " + serviceName + " for cluster " + clusterName);
   }
 
   @Override
diff --git a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigZK.java b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigZK.java
index dcbedd5..d29da94 100644
--- a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigZK.java
+++ b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigZK.java
@@ -24,14 +24,14 @@ import java.util.Map;
 import org.apache.ambari.logsearch.config.api.LogLevelFilterManager;
 import org.apache.ambari.logsearch.config.api.LogSearchConfig;
 import org.apache.curator.framework.CuratorFramework;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.zookeeper.KeeperException.NodeExistsException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import com.google.gson.Gson;
 
 public class LogSearchConfigZK implements LogSearchConfig {
-  private static final Logger LOG = LoggerFactory.getLogger(LogSearchConfigZK.class);
+  private static final Logger logger = LogManager.getLogger(LogSearchConfigZK.class);
 
   protected Map<String, String> properties;
   protected CuratorFramework client;
@@ -50,9 +50,9 @@ public class LogSearchConfigZK implements LogSearchConfig {
     String nodePath = String.format("/%s/input/%s", clusterName, serviceName);
     try {
       client.create().creatingParentContainersIfNeeded().withACL(LogSearchConfigZKHelper.getAcls(properties)).forPath(nodePath, inputConfig.getBytes());
-      LOG.info("Uploaded input config for the service " + serviceName + " for cluster " + clusterName);
+      logger.info("Uploaded input config for the service " + serviceName + " for cluster " + clusterName);
     } catch (NodeExistsException e) {
-      LOG.debug("Did not upload input config for service " + serviceName + " as it was already uploaded by another Log Feeder");
+      logger.debug("Did not upload input config for service " + serviceName + " as it was already uploaded by another Log Feeder");
     }
   }
 
@@ -68,7 +68,7 @@ public class LogSearchConfigZK implements LogSearchConfig {
 
   @Override
   public void close() {
-    LOG.info("Closing ZooKeeper Connection");
+    logger.info("Closing ZooKeeper Connection");
     client.close();
   }
 }
diff --git a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigZKHelper.java b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigZKHelper.java
index b26181d..de6db9a 100644
--- a/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigZKHelper.java
+++ b/ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/LogSearchConfigZKHelper.java
@@ -36,11 +36,11 @@ import org.apache.curator.framework.recipes.cache.TreeCacheListener;
 import org.apache.curator.retry.RetryForever;
 import org.apache.curator.retry.RetryUntilElapsed;
 import org.apache.curator.utils.ZKPaths;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.zookeeper.ZooDefs;
 import org.apache.zookeeper.data.ACL;
 import org.apache.zookeeper.data.Id;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -52,7 +52,7 @@ import java.util.Set;
  */
 public class LogSearchConfigZKHelper {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogSearchConfigZKHelper.class);
+  private static final Logger logger = LogManager.getLogger(LogSearchConfigZKHelper.class);
 
   private static final int DEFAULT_SESSION_TIMEOUT = 60000;
   private static final int DEFAULT_CONNECTION_TIMEOUT = 30000;
@@ -119,7 +119,7 @@ public class LogSearchConfigZKHelper {
    */
   public static CuratorFramework createZKClient(Map<String, String> properties) {
     String root = MapUtils.getString(properties, ZK_ROOT_NODE_PROPERTY, DEFAULT_ZK_ROOT);
-    LOG.info("Connecting to ZooKeeper at " + properties.get(ZK_CONNECT_STRING_PROPERTY) + root);
+    logger.info("Connecting to ZooKeeper at " + properties.get(ZK_CONNECT_STRING_PROPERTY) + root);
     return CuratorFrameworkFactory.builder()
       .connectString(properties.get(ZK_CONNECT_STRING_PROPERTY) + root)
       .retryPolicy(getRetryPolicy(properties.get(ZK_CONNECTION_RETRY_TIMEOUT_PROPERTY)))
@@ -203,7 +203,7 @@ public class LogSearchConfigZKHelper {
 
   public static void waitUntilRootAvailable(CuratorFramework client) throws Exception {
     while (client.checkExists().forPath("/") == null) {
-      LOG.info("Root node is not present yet, going to sleep for " + WAIT_FOR_ROOT_SLEEP_SECONDS + " seconds");
+      logger.info("Root node is not present yet, going to sleep for " + WAIT_FOR_ROOT_SLEEP_SECONDS + " seconds");
       Thread.sleep(WAIT_FOR_ROOT_SLEEP_SECONDS * 1000);
     }
   }
@@ -216,12 +216,12 @@ public class LogSearchConfigZKHelper {
     switch (eventType) {
       case NODE_ADDED:
       case NODE_UPDATED:
-        LOG.info("Node added/updated under loglevelfilter ZK node: " + nodeName);
+        logger.info("Node added/updated under loglevelfilter ZK node: " + nodeName);
         LogLevelFilter logLevelFilter = gson.fromJson(nodeData, LogLevelFilter.class);
         logLevelFilterMonitor.setLogLevelFilter(nodeName, logLevelFilter);
         break;
       case NODE_REMOVED:
-        LOG.info("Node removed loglevelfilter input ZK node: " + nodeName);
+        logger.info("Node removed loglevelfilter input ZK node: " + nodeName);
         logLevelFilterMonitor.removeLogLevelFilter(nodeName);
         break;
       default:
diff --git a/ambari-logsearch/ambari-logsearch-config-api/pom.xml b/ambari-logsearch/ambari-logsearch-log4j2-appender/pom.xml
similarity index 75%
copy from ambari-logsearch/ambari-logsearch-config-api/pom.xml
copy to ambari-logsearch/ambari-logsearch-log4j2-appender/pom.xml
index 59286a6..2035e63 100644
--- a/ambari-logsearch/ambari-logsearch-config-api/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-log4j2-appender/pom.xml
@@ -15,9 +15,9 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
   <parent>
     <artifactId>ambari-logsearch</artifactId>
     <groupId>org.apache.ambari</groupId>
@@ -25,25 +25,24 @@
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
-  <artifactId>ambari-logsearch-config-api</artifactId>
+  <artifactId>ambari-logsearch-log4j2-appender</artifactId>
   <packaging>jar</packaging>
-  <name>Ambari Logsearch Config Api</name>
   <url>http://maven.apache.org</url>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
+  <name>Ambari Logsearch Log4j2 Appender</name>
 
   <dependencies>
     <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.7.20</version>
-    </dependency>
   </dependencies>
-</project>
+</project>
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/org/apache/ambari/logsearch/layout/LogSearchJsonLayout.java b/ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/org/apache/ambari/logsearch/layout/LogSearchJsonLayout.java
new file mode 100644
index 0000000..cbcba18
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-log4j2-appender/src/main/java/org/apache/ambari/logsearch/layout/LogSearchJsonLayout.java
@@ -0,0 +1,120 @@
+/*
+ * 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.
+ */
+package org.apache.ambari.logsearch.layout;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.config.Node;
+import org.apache.logging.log4j.core.config.plugins.Plugin;
+import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
+import org.apache.logging.log4j.core.jackson.ContextDataSerializer;
+import org.apache.logging.log4j.core.layout.AbstractStringLayout;
+import org.apache.logging.log4j.util.ReadOnlyStringMap;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+
+@Plugin(name = "LogSearchJsonLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true)
+public final class LogSearchJsonLayout extends AbstractStringLayout {
+
+  private final ObjectMapper objectMapper;
+  private static final String NEW_LINE = System.getProperty("line.separator");
+
+  public LogSearchJsonLayout(Charset charset) {
+    super(charset);
+    SimpleModule module = new SimpleModule();
+    module.addSerializer(LogEvent.class, new LogEventSerializer());
+    module.addSerializer(ReadOnlyStringMap.class, new ContextDataSerializer() {
+    });
+    objectMapper = new ObjectMapper();
+    objectMapper.registerModule(module);
+    objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
+  }
+
+  @Override
+  public String toSerializable(LogEvent logEvent) {
+    try {
+      return objectMapper.writeValueAsString(logEvent) + NEW_LINE;
+    } catch (JsonProcessingException e) {
+      throw new IllegalStateException(e);
+    }
+  }
+
+  private static class LogEventSerializer extends StdSerializer<LogEvent> {
+    LogEventSerializer() {
+      super(LogEvent.class);
+    }
+
+    @Override
+    public void serialize(LogEvent value, JsonGenerator gen, SerializerProvider provider) throws IOException {
+      gen.writeStartObject();
+      gen.writeStringField("level", value.getLevel().name());
+      gen.writeStringField("thread_name", value.getThreadName());
+      gen.writeStringField("logger_name", value.getLoggerName());
+      if (value.getSource() != null) {
+        StackTraceElement source = value.getSource();
+        if (source.getFileName() != null) {
+          gen.writeStringField("file", source.getFileName());
+        }
+        gen.writeNumberField("line_number", source.getLineNumber());
+      }
+      gen.writeObjectField("log_message", getLogMessage(value));
+      gen.writeStringField("logtime", Long.toString(value.getTimeMillis()));
+      gen.writeEndObject();
+    }
+
+    private String getLogMessage(LogEvent logEvent) {
+      String logMessage = logEvent.getMessage() != null ? logEvent.getMessage().getFormattedMessage() : "";
+      if (logEvent.getThrown() != null) {
+        logMessage += NEW_LINE;
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+        logEvent.getThrown().printStackTrace(pw);
+        logMessage += sw.toString();
+      }
+      return logMessage;
+    }
+  }
+
+  @PluginBuilderFactory
+  public static <B extends Builder<B>> B newBuilder() {
+    return new Builder<B>().asBuilder();
+  }
+
+  public static class Builder<B extends Builder<B>> extends org.apache.logging.log4j.core.layout.AbstractStringLayout.Builder<B> implements org.apache.logging.log4j.core.util.Builder<LogSearchJsonLayout> {
+    Builder() {
+      this.setCharset(StandardCharsets.UTF_8);
+    }
+
+    public LogSearchJsonLayout build() {
+      return new LogSearchJsonLayout(this.getCharset());
+    }
+  }
+
+}
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/AWSUtil.java b/ambari-logsearch/ambari-logsearch-log4j2-appender/src/test/java/org/apache/ambari/logsearch/layout/LayoutTest.java
similarity index 54%
rename from ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/AWSUtil.java
rename to ambari-logsearch/ambari-logsearch-log4j2-appender/src/test/java/org/apache/ambari/logsearch/layout/LayoutTest.java
index f814a92..46ee225 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/AWSUtil.java
+++ b/ambari-logsearch/ambari-logsearch-log4j2-appender/src/test/java/org/apache/ambari/logsearch/layout/LayoutTest.java
@@ -6,9 +6,9 @@
  * 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
@@ -16,27 +16,26 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.ambari.logfeeder.util;
+package org.apache.ambari.logsearch.layout;
 
-import org.apache.log4j.Logger;
 
-import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.BasicAWSCredentials;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
-public class AWSUtil {
-  private static final Logger LOG = Logger.getLogger(AWSUtil.class);
+public class LayoutTest {
+  private static final Logger logger = LogManager.getLogger(LayoutTest.class);
 
-  private AWSUtil() {
-    throw new UnsupportedOperationException();
-  }
+  public static void main(String[] args) {
 
-  public static AWSCredentials createAWSCredentials(String accessKey, String secretKey) {
-    if (accessKey != null && secretKey != null) {
-      LOG.debug("Creating aws client as per new accesskey and secretkey");
-      AWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey);
-      return awsCredentials;
-    } else {
-      return null;
+    try {
+      throwException();
+    } catch (ClassCastException castException) {
+      logger.error("error", castException);
     }
+
+  }
+
+  public static void throwException() {
+    throw new ClassCastException("test");
   }
 }
diff --git a/ambari-logsearch/ambari-logsearch-log4j2-appender/src/test/resources/log4j2.xml b/ambari-logsearch/ambari-logsearch-log4j2-appender/src/test/resources/log4j2.xml
new file mode 100644
index 0000000..92ac96e
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-log4j2-appender/src/test/resources/log4j2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.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.
+-->
+<Configuration packages="org.apache.ambari.logsearch.layout">
+  <ThresholdFilter level="debug"/>
+
+  <Appenders>
+    <Console name="STDOUT">
+      <LogSearchJsonLayout/>
+      <ThresholdFilter level="debug"/>
+    </Console>
+    <RollingFile name="RollingFile" fileName="target/logs/test.json" filePattern="target/logs/test.json.%d{MM-dd-yyyy}.gz"
+                 ignoreExceptions="false">
+      <LogSearchJsonLayout/>
+      <TimeBasedTriggeringPolicy />
+    </RollingFile>
+  </Appenders>
+
+  <Loggers>
+    <Root level="error">
+      <AppenderRef ref="RollingFile"/>
+    </Root>
+  </Loggers>
+
+</Configuration>
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/pom.xml b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/pom.xml
index bdcff62..e601034 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/pom.xml
@@ -34,14 +34,8 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.7.25</version>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
-      <version>1.7.25</version>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-api</artifactId>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
@@ -63,15 +57,6 @@
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.3</version>
-        <configuration>
-          <source>${jdk.version}</source>
-          <target>${jdk.version}</target>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <version>3.1.0</version>
         <configuration>
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistry.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistry.java
index c3e816e..1294dbe 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistry.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistry.java
@@ -22,8 +22,8 @@ import org.apache.ambari.logfeeder.ContainerRegistry;
 import org.apache.ambari.logfeeder.docker.command.DockerInspectContainerCommand;
 import org.apache.ambari.logfeeder.docker.command.DockerListContainerCommand;
 import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
@@ -41,7 +41,7 @@ import java.util.stream.Collectors;
 public final class DockerContainerRegistry implements ContainerRegistry<DockerMetadata> {
 
   private static final String LOGFEEDER_CONTAINER_REGISTRY_DOCKER_INTERVAL = "logfeeder.container.registry.docker.interval";
-  private static final Logger logger = LoggerFactory.getLogger(DockerContainerRegistry.class);
+  private static final Logger logger = LogManager.getLogger(DockerContainerRegistry.class);
 
   private static DockerContainerRegistry INSTANCE = null;
   private final Properties configs;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistryMonitor.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistryMonitor.java
index 30c328d..ff2a3a0 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistryMonitor.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/DockerContainerRegistryMonitor.java
@@ -18,8 +18,8 @@
  */
 package org.apache.ambari.logfeeder.docker;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * Periodically re-register docker container metadata for {@link org.apache.ambari.logfeeder.docker.DockerContainerRegistry}
@@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory;
  */
 public class DockerContainerRegistryMonitor implements Runnable {
 
-  private static final Logger logger = LoggerFactory.getLogger(DockerContainerRegistryMonitor.class);
+  private static final Logger logger = LogManager.getLogger(DockerContainerRegistryMonitor.class);
 
   private final DockerContainerRegistry registry;
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerInspectContainerCommand.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerInspectContainerCommand.java
index d4fc182..89be7d0 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerInspectContainerCommand.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerInspectContainerCommand.java
@@ -20,8 +20,8 @@ package org.apache.ambari.logfeeder.docker.command;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -33,7 +33,7 @@ import java.util.Map;
  */
 public class DockerInspectContainerCommand implements ContainerCommand<List<Map<String, Object>>> {
 
-  private static final Logger logger = LoggerFactory.getLogger(DockerInspectContainerCommand.class);
+  private static final Logger logger = LogManager.getLogger(DockerInspectContainerCommand.class);
 
   @Override
   public List<Map<String, Object>> execute(Map<String, String> params) {
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerListContainerCommand.java b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerListContainerCommand.java
index a0596ca..c530eb3 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerListContainerCommand.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-container-registry/src/main/java/org/apache/ambari/logfeeder/docker/command/DockerListContainerCommand.java
@@ -18,8 +18,8 @@
  */
 package org.apache.ambari.logfeeder.docker.command;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -30,7 +30,7 @@ import java.util.Map;
  */
 public class DockerListContainerCommand implements ContainerCommand<List<String>> {
 
-  private static final Logger logger = LoggerFactory.getLogger(DockerListContainerCommand.class);
+  private static final Logger logger = LogManager.getLogger(DockerListContainerCommand.class);
 
   @Override
   public List<String> execute(Map<String, String> params) {
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/pom.xml b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/pom.xml
index fa5f97e..a944e83 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/pom.xml
@@ -46,9 +46,8 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.7.20</version>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.codehaus.jackson</groupId>
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/AliasUtil.java b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/AliasUtil.java
index 521e0bd..fc93dab 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/AliasUtil.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/AliasUtil.java
@@ -22,10 +22,10 @@ import org.apache.ambari.logfeeder.plugin.filter.Filter;
 import org.apache.ambari.logfeeder.plugin.filter.mapper.Mapper;
 import org.apache.ambari.logfeeder.plugin.input.Input;
 import org.apache.ambari.logfeeder.plugin.output.Output;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.type.TypeReference;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -33,7 +33,7 @@ import java.util.HashMap;
 
 public class AliasUtil {
 
-  private static final Logger LOG = LoggerFactory.getLogger(AliasUtil.class);
+  private static final Logger logger = LogManager.getLogger(AliasUtil.class);
 
   private static final String ALIAS_CONFIG_JSON = "alias_config.json";
   private static HashMap<String, Object> aliasMap = null;
@@ -57,7 +57,7 @@ public class AliasUtil {
     try {
       instance = Class.forName(classFullName).getConstructor().newInstance();
     } catch (Exception exception) {
-      LOG.error("Unsupported class = " + classFullName, exception.getCause());
+      logger.error("Unsupported class = " + classFullName, exception.getCause());
     }
 
     if (instance != null) {
@@ -76,11 +76,11 @@ public class AliasUtil {
           isValid = Mapper.class.isAssignableFrom(instance.getClass());
           break;
         default:
-          LOG.warn("Unhandled aliasType: " + aliasType);
+          logger.warn("Unhandled aliasType: " + aliasType);
           isValid = true;
       }
       if (!isValid) {
-        LOG.error("Not a valid class :" + classFullName + " AliasType :" + aliasType.name());
+        logger.error("Not a valid class :" + classFullName + " AliasType :" + aliasType.name());
       }
     }
     return instance;
@@ -93,9 +93,9 @@ public class AliasUtil {
     String value = aliasInfo.get("klass");
     if (value != null && !value.isEmpty()) {
       className = value;
-      LOG.debug("Class name found for key :" + key + ", class name :" + className + " aliastype:" + aliastype.name());
+      logger.debug("Class name found for key :" + key + ", class name :" + className + " aliastype:" + aliastype.name());
     } else {
-      LOG.debug("Class name not found for key :" + key + " aliastype:" + aliastype.name());
+      logger.debug("Class name not found for key :" + key + " aliastype:" + aliastype.name());
     }
 
     return className;
@@ -121,7 +121,7 @@ public class AliasUtil {
     try (InputStream inputStream = AliasUtil.class.getClassLoader().getResourceAsStream(fileName)) {
       return mapper.readValue(inputStream, new TypeReference<HashMap<String, Object>>() {});
     } catch (IOException e) {
-      LOG.error("Error occurred during loading alias json file: {}", e);
+      logger.error("Error occurred during loading alias json file: {}", e);
     }
     return new HashMap<String, Object>();
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/ConfigItem.java b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/ConfigItem.java
index 5b50a7e..76fcf3f 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/ConfigItem.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/ConfigItem.java
@@ -21,8 +21,8 @@ package org.apache.ambari.logfeeder.plugin.common;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.reflect.TypeToken;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.Serializable;
 import java.lang.reflect.Type;
@@ -32,7 +32,7 @@ import java.util.Map;
 
 public abstract class ConfigItem<PROP_TYPE extends LogFeederProperties> implements Cloneable, Serializable {
 
-  private static final Logger LOG = LoggerFactory.getLogger(ConfigItem.class);
+  private static final Logger logger = LogManager.getLogger(ConfigItem.class);
 
   private final static String GSON_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
   private static Gson gson = new GsonBuilder().setDateFormat(GSON_DATE_FORMAT).create();
@@ -96,7 +96,7 @@ public abstract class ConfigItem<PROP_TYPE extends LogFeederProperties> implemen
     long currMS = System.currentTimeMillis();
     String postFix = ", key=" + getShortDescription();
     if (currStat > metric.prevLogValue) {
-      LOG.info(prefixStr + ": total_count=" + metric.value + ", duration=" + (currMS - metric.prevLogTime) / 1000 +
+      logger.info(prefixStr + ": total_count=" + metric.value + ", duration=" + (currMS - metric.prevLogTime) / 1000 +
         " secs, count=" + (currStat - metric.prevLogValue) + postFix);
     }
     metric.prevLogValue = currStat;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/filter/Filter.java b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/filter/Filter.java
index f098245..8f0fa71 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/filter/Filter.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/filter/Filter.java
@@ -29,8 +29,8 @@ import org.apache.ambari.logfeeder.plugin.manager.OutputManager;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.FilterDescriptor;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.MapFieldDescriptor;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.PostMapValues;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -39,7 +39,7 @@ import java.util.Map;
 
 public abstract class Filter<PROP_TYPE extends LogFeederProperties> extends ConfigItem<PROP_TYPE> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(Filter.class);
+  private static final Logger logger = LogManager.getLogger(Filter.class);
 
   private final Map<String, List<Mapper>> postFieldValueMappers = new HashMap<>();
   private FilterDescriptor filterDescriptor;
@@ -82,7 +82,7 @@ public abstract class Filter<PROP_TYPE extends LogFeederProperties> extends Conf
           String mapClassCode = mapFieldDescriptor.getJsonName();
           Mapper mapper = (Mapper) AliasUtil.getClassInstance(mapClassCode, AliasUtil.AliasType.MAPPER);
           if (mapper == null) {
-            LOG.warn("Unknown mapper type: " + mapClassCode);
+            logger.warn("Unknown mapper type: " + mapClassCode);
             continue;
           }
           if (mapper.init(getInput().getShortDescription(), fieldName, mapClassCode, mapFieldDescriptor)) {
@@ -175,7 +175,7 @@ public abstract class Filter<PROP_TYPE extends LogFeederProperties> extends Conf
 
   @Override
   public boolean logConfigs() {
-    LOG.info("filter=" + getShortDescription());
+    logger.info("filter=" + getShortDescription());
     return true;
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/input/Input.java b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/input/Input.java
index 1b1fed5..421ca86 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/input/Input.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/input/Input.java
@@ -31,8 +31,8 @@ import org.apache.ambari.logsearch.config.api.model.inputconfig.Conditions;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.Fields;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.FilterDescriptor;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.InputDescriptor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -40,7 +40,7 @@ import java.util.Map;
 
 public abstract class Input<PROP_TYPE extends LogFeederProperties, INPUT_MARKER extends InputMarker, INPUT_DESC_TYPE extends InputDescriptor> extends ConfigItem<PROP_TYPE> implements Runnable {
 
-  private static final Logger LOG = LoggerFactory.getLogger(Input.class);
+  private static final Logger logger = LogManager.getLogger(Input.class);
 
   private INPUT_DESC_TYPE inputDescriptor;
   private PROP_TYPE logFeederProperties;
@@ -167,12 +167,12 @@ public abstract class Input<PROP_TYPE extends LogFeederProperties, INPUT_MARKER
   @Override
   public void run() {
     try {
-      LOG.info("Started to monitor. " + getShortDescription());
+      logger.info("Started to monitor. " + getShortDescription());
       start();
     } catch (Exception e) {
-      LOG.error("Error writing to output.", e);
+      logger.error("Error writing to output.", e);
     }
-    LOG.info("Exiting thread. " + getShortDescription());
+    logger.info("Exiting thread. " + getShortDescription());
   }
 
   /**
@@ -190,7 +190,7 @@ public abstract class Input<PROP_TYPE extends LogFeederProperties, INPUT_MARKER
       try {
         firstFilter.apply(line, marker);
       } catch (Exception e) {
-        LOG.error("Error during filter apply: {}", e);
+        logger.error("Error during filter apply: {}", e);
       }
     } else {
       // TODO: For now, let's make filter mandatory, so that no one accidently forgets to write filter
@@ -199,7 +199,7 @@ public abstract class Input<PROP_TYPE extends LogFeederProperties, INPUT_MARKER
   }
 
   public void close() {
-    LOG.info("Close called. " + getShortDescription());
+    logger.info("Close called. " + getShortDescription());
     try {
       if (firstFilter != null) {
         firstFilter.close();
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/output/Output.java b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/output/Output.java
index 13e5ad8..52c5435 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/output/Output.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/output/Output.java
@@ -26,8 +26,8 @@ import org.apache.ambari.logfeeder.plugin.common.MetricData;
 import org.apache.ambari.logfeeder.plugin.input.InputMarker;
 import org.apache.ambari.logsearch.config.api.LogSearchConfigLogFeeder;
 import org.apache.ambari.logsearch.config.api.OutputConfigMonitor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -36,7 +36,7 @@ import java.util.Map;
 
 public abstract class Output<PROP_TYPE extends LogFeederProperties, INPUT_MARKER extends InputMarker> extends ConfigItem<PROP_TYPE> implements OutputConfigMonitor {
 
-  private static final Logger LOG = LoggerFactory.getLogger(Output.class);
+  private static final Logger LOG = LogManager.getLogger(Output.class);
 
   private final static String GSON_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
   private static Gson gson = new GsonBuilder().setDateFormat(GSON_DATE_FORMAT).create();
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/build.xml b/ambari-logsearch/ambari-logsearch-logfeeder/build.xml
index bde400f..1fbb928 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/build.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/build.xml
@@ -36,7 +36,7 @@
     </copy>
     <copy todir="target/package/conf" includeEmptyDirs="no">
       <fileset file="target/classes/grok-patterns"/>
-      <fileset file="target/classes/log4j.xml"/>
+      <fileset file="target/classes/log4j2.yml"/>
       <fileset file="target/classes/logfeeder.properties"/>
       <fileset file="target/classes/alias_config.json"/>
       <fileset file="src/main/scripts/logfeeder-env.sh"/>
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
index 585dbda..bdf3928 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
@@ -33,7 +33,7 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <spring.version>5.0.9.RELEASE</spring.version>
+    <spring.version>5.1.0.RELEASE</spring.version>
     <spring-boot.version>2.0.5.RELEASE</spring-boot.version>
   </properties>
 
@@ -45,6 +45,11 @@
     </dependency>
     <dependency>
       <groupId>org.apache.ambari</groupId>
+      <artifactId>ambari-logsearch-log4j2-appender</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ambari</groupId>
       <artifactId>ambari-logsearch-config-json</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -141,8 +146,13 @@
     </dependency>
     <dependency>
       <groupId>com.amazonaws</groupId>
+      <artifactId>aws-java-sdk-core</artifactId>
+      <version>1.11.412</version>
+    </dependency>
+    <dependency>
+      <groupId>com.amazonaws</groupId>
       <artifactId>aws-java-sdk-s3</artifactId>
-      <version>1.11.5</version>
+      <version>1.11.412</version>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>
@@ -150,9 +160,8 @@
       <version>1.16.1</version>
     </dependency>
     <dependency>
-      <groupId>com.amazonaws</groupId>
-      <artifactId>aws-java-sdk-iam</artifactId>
-      <version>1.11.5</version>
+      <groupId>com.fasterxml.jackson.dataformat</groupId>
+      <artifactId>jackson-dataformat-yaml</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.hadoop</groupId>
@@ -222,8 +231,8 @@
     </dependency>
     <dependency>
       <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-starter-log4j</artifactId>
-      <version>1.3.8.RELEASE</version>
+      <artifactId>spring-boot-starter-log4j2</artifactId>
+      <version>${spring-boot.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework.boot</groupId>
@@ -240,6 +249,15 @@
       <artifactId>ant</artifactId>
       <version>1.10.3</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-jcl</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.17</version>
+    </dependency>
     <!-- Exclude jars globally-->
     <dependency>
       <groupId>commons-beanutils</groupId>
@@ -250,11 +268,35 @@
     <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging</artifactId>
-      <version>1.1.1</version>
+      <version>1.2</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <version>1.7.25</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+      <version>1.7.25</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jul-to-slf4j</artifactId>
+      <version>1.7.25</version>
       <scope>provided</scope>
     </dependency>
   </dependencies>
   <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
     <pluginManagement>
       <plugins>
         <plugin>
@@ -270,15 +312,6 @@
 
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.3</version>
-        <configuration>
-          <source>${jdk.version}</source>
-          <target>${jdk.version}</target>
-        </configuration>
-      </plugin>
-      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
         <version>${spring-boot.version}</version>
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigHandler.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigHandler.java
index 1ceef3b..f06e452 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigHandler.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigHandler.java
@@ -42,7 +42,8 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.BooleanUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.core.io.ClassPathResource;
 
 import javax.annotation.PostConstruct;
@@ -63,7 +64,7 @@ import java.util.Map;
 import java.util.Set;
 
 public class ConfigHandler implements InputConfigMonitor {
-  private static final Logger LOG = Logger.getLogger(org.apache.ambari.logfeeder.common.ConfigHandler.class);
+  private static final Logger logger = LogManager.getLogger(org.apache.ambari.logfeeder.common.ConfigHandler.class);
 
   private final LogSearchConfigLogFeeder logSearchConfig;
 
@@ -101,16 +102,16 @@ public class ConfigHandler implements InputConfigMonitor {
   private void loadConfigFiles() throws Exception {
     List<String> configFiles = getConfigFiles();
     for (String configFileName : configFiles) {
-      LOG.info("Going to load config file:" + configFileName);
+      logger.info("Going to load config file:" + configFileName);
       configFileName = configFileName.replace("\\ ", "%20");
       File configFile = new File(configFileName);
       if (configFile.exists() && configFile.isFile()) {
-        LOG.info("Config file exists in path." + configFile.getAbsolutePath());
+        logger.info("Config file exists in path." + configFile.getAbsolutePath());
         loadConfigsUsingFile(configFile);
       } else {
-        LOG.info("Trying to load config file from classloader: " + configFileName);
+        logger.info("Trying to load config file from classloader: " + configFileName);
         loadConfigsUsingClassLoader(configFileName);
-        LOG.info("Loaded config file from classloader: " + configFileName);
+        logger.info("Loaded config file from classloader: " + configFileName);
       }
     }
   }
@@ -119,7 +120,7 @@ public class ConfigHandler implements InputConfigMonitor {
     List<String> configFiles = new ArrayList<>();
 
     String logFeederConfigFilesProperty = logFeederProps.getConfigFiles();
-    LOG.info("logfeeder.config.files=" + logFeederConfigFilesProperty);
+    logger.info("logfeeder.config.files=" + logFeederConfigFilesProperty);
     if (logFeederConfigFilesProperty != null) {
       configFiles.addAll(Arrays.asList(logFeederConfigFilesProperty.split(",")));
     }
@@ -132,7 +133,7 @@ public class ConfigHandler implements InputConfigMonitor {
       String configData = FileUtils.readFileToString(configFile, Charset.defaultCharset());
       loadConfigs(configData);
     } catch (Exception t) {
-      LOG.error("Error opening config file. configFilePath=" + configFile.getAbsolutePath());
+      logger.error("Error opening config file. configFilePath=" + configFile.getAbsolutePath());
       throw t;
     }
   }
@@ -214,7 +215,7 @@ public class ConfigHandler implements InputConfigMonitor {
           outputConfigList.addAll(outputConfig);
           break;
         default :
-          LOG.warn("Unknown config key: " + key);
+          logger.warn("Unknown config key: " + key);
       }
     }
   }
@@ -255,12 +256,12 @@ public class ConfigHandler implements InputConfigMonitor {
 
       String value = (String) map.get("destination");
       if (StringUtils.isEmpty(value)) {
-        LOG.error("Output block doesn't have destination element");
+        logger.error("Output block doesn't have destination element");
         continue;
       }
       Output output = (Output) AliasUtil.getClassInstance(value, AliasUtil.AliasType.OUTPUT);
       if (output == null) {
-        LOG.error("Output object could not be found");
+        logger.error("Output object could not be found");
         continue;
       }
       output.setDestination(value);
@@ -272,7 +273,7 @@ public class ConfigHandler implements InputConfigMonitor {
         output.logConfigs();
         outputManager.add(output);
       } else {
-        LOG.info("Output is disabled. So ignoring it. " + output.getShortDescription());
+        logger.info("Output is disabled. So ignoring it. " + output.getShortDescription());
       }
     }
   }
@@ -285,12 +286,12 @@ public class ConfigHandler implements InputConfigMonitor {
 
       String source = (String) inputDescriptor.getSource();
       if (StringUtils.isEmpty(source)) {
-        LOG.error("Input block doesn't have source element");
+        logger.error("Input block doesn't have source element");
         continue;
       }
       Input input = (Input) AliasUtil.getClassInstance(source, AliasUtil.AliasType.INPUT);
       if (input == null) {
-        LOG.error("Input object could not be found");
+        logger.error("Input object could not be found");
         continue;
       }
       input.setType(source);
@@ -303,7 +304,7 @@ public class ConfigHandler implements InputConfigMonitor {
         inputManager.add(serviceName, input);
         input.logConfigs();
       } else {
-        LOG.info("Input is disabled. So ignoring it. " + input.getShortDescription());
+        logger.info("Input is disabled. So ignoring it. " + input.getShortDescription());
       }
     }
   }
@@ -318,22 +319,22 @@ public class ConfigHandler implements InputConfigMonitor {
           continue;
         }
         if (BooleanUtils.isFalse(filterDescriptor.isEnabled())) {
-          LOG.debug("Ignoring filter " + filterDescriptor.getFilter() + " because it is disabled");
+          logger.debug("Ignoring filter " + filterDescriptor.getFilter() + " because it is disabled");
           continue;
         }
         if (!input.isFilterRequired(filterDescriptor)) {
-          LOG.debug("Ignoring filter " + filterDescriptor.getFilter() + " for input " + input.getShortDescription());
+          logger.debug("Ignoring filter " + filterDescriptor.getFilter() + " for input " + input.getShortDescription());
           continue;
         }
 
         String value = filterDescriptor.getFilter();
         if (StringUtils.isEmpty(value)) {
-          LOG.error("Filter block doesn't have filter element");
+          logger.error("Filter block doesn't have filter element");
           continue;
         }
         Filter filter = (Filter) AliasUtil.getClassInstance(value, AliasUtil.AliasType.FILTER);
         if (filter == null) {
-          LOG.error("Filter object could not be found");
+          logger.error("Filter object could not be found");
           continue;
         }
         filter.loadConfig(filterDescriptor);
@@ -350,7 +351,7 @@ public class ConfigHandler implements InputConfigMonitor {
     }
 
     for (Input toRemoveInput : toRemoveInputList) {
-      LOG.warn("There are no filters, we will ignore this input. " + toRemoveInput.getShortDescription());
+      logger.warn("There are no filters, we will ignore this input. " + toRemoveInput.getShortDescription());
       inputManager.removeInput(toRemoveInput);
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/LogFeederSolrClientFactory.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/LogFeederSolrClientFactory.java
index cf94fb5..5018d48 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/LogFeederSolrClientFactory.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/LogFeederSolrClientFactory.java
@@ -19,21 +19,15 @@
 package org.apache.ambari.logfeeder.common;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
 import org.apache.solr.client.solrj.impl.LBHttpSolrClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
 
 public class LogFeederSolrClientFactory {
 
-  private static final Logger logger = LoggerFactory.getLogger(LogFeederSolrClientFactory.class);
+  private static final Logger logger = LogManager.getLogger(LogFeederSolrClientFactory.class);
 
   public SolrClient createSolrClient(String zkConnectionString, String[] solrUrls, String collection) {
     logger.info("Creating solr client ...");
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/LogFeederSecurityConfig.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/LogFeederSecurityConfig.java
index faa0359..aca1109 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/LogFeederSecurityConfig.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/LogFeederSecurityConfig.java
@@ -23,8 +23,8 @@ import org.apache.ambari.logsearch.config.api.LogSearchPropertyDescription;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang3.ArrayUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.annotation.Value;
 
 import javax.annotation.PostConstruct;
@@ -33,7 +33,7 @@ import java.nio.charset.Charset;
 
 public class LogFeederSecurityConfig {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogFeederSecurityConfig.class);
+  private static final Logger logger = LogManager.getLogger(LogFeederSecurityConfig.class);
 
   private static final String KEYSTORE_LOCATION_ARG = "javax.net.ssl.keyStore";
   private static final String TRUSTSTORE_LOCATION_ARG = "javax.net.ssl.trustStore";
@@ -166,7 +166,7 @@ public class LogFeederSecurityConfig {
       char[] passwordChars = config.getPassword(propertyName);
       return (ArrayUtils.isNotEmpty(passwordChars)) ? new String(passwordChars) : null;
     } catch (Exception e) {
-      LOG.warn(String.format("Could not load password %s from credential store, using default password", propertyName));
+      logger.warn(String.format("Could not load password %s from credential store, using default password", propertyName));
       return null;
     }
   }
@@ -181,7 +181,7 @@ public class LogFeederSecurityConfig {
         return FileUtils.readFileToString(pwdFile, Charset.defaultCharset());
       }
     } catch (Exception e) {
-      LOG.warn("Exception occurred during read/write password file for keystore/truststore.", e);
+      logger.warn("Exception occurred during read/write password file for keystore/truststore.", e);
       return null;
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterGrok.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterGrok.java
index 5ed61cc..492e531 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterGrok.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterGrok.java
@@ -33,8 +33,9 @@ import org.apache.ambari.logsearch.config.api.model.inputconfig.FilterGrokDescri
 import org.apache.ambari.logsearch.config.api.model.inputconfig.InputFileDescriptor;
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -49,7 +50,7 @@ import java.util.Set;
 import java.util.regex.Pattern;
 
 public class FilterGrok extends Filter<LogFeederProps> {
-  private static final Logger LOG = Logger.getLogger(FilterGrok.class);
+  private static final Logger logger = LogManager.getLogger(FilterGrok.class);
 
   private static final String GROK_PATTERN_FILE = "grok-patterns";
 
@@ -95,10 +96,10 @@ public class FilterGrok extends Filter<LogFeederProps> {
         }
       }
 
-      LOG.info("init() done. grokPattern=" + messagePattern + ", multilinePattern=" + multilinePattern + ", " +
+      logger.info("init() done. grokPattern=" + messagePattern + ", multilinePattern=" + multilinePattern + ", " +
       getShortDescription());
       if (StringUtils.isEmpty(messagePattern)) {
-        LOG.error("message_pattern is not set for filter.");
+        logger.error("message_pattern is not set for filter.");
         return;
       }
       extractNamedParams(messagePattern, namedParamList);
@@ -119,7 +120,7 @@ public class FilterGrok extends Filter<LogFeederProps> {
         grokMultiline.compile(multilinePattern);
       }
     } catch (Throwable t) {
-      LOG.fatal("Caught exception while initializing Grok. multilinePattern=" + multilinePattern + ", messagePattern="
+      logger.fatal("Caught exception while initializing Grok. multilinePattern=" + multilinePattern + ", messagePattern="
           + messagePattern, t);
       grokMessage = null;
       grokMultiline = null;
@@ -165,22 +166,22 @@ public class FilterGrok extends Filter<LogFeederProps> {
 
   private boolean loadPatterns(Grok grok) {
     InputStreamReader grokPatternsReader = null;
-    LOG.info("Loading pattern file " + GROK_PATTERN_FILE);
+    logger.info("Loading pattern file " + GROK_PATTERN_FILE);
     try {
       InputStream fileInputStream = getClass().getClassLoader().getResourceAsStream(GROK_PATTERN_FILE);
       if (fileInputStream == null) {
-        LOG.fatal("Couldn't load grok-patterns file " + GROK_PATTERN_FILE + ". Things will not work");
+        logger.fatal("Couldn't load grok-patterns file " + GROK_PATTERN_FILE + ". Things will not work");
         return false;
       }
       grokPatternsReader = new InputStreamReader(fileInputStream);
     } catch (Throwable t) {
-      LOG.fatal("Error reading grok-patterns file " + GROK_PATTERN_FILE + " from classpath. Grok filtering will not work.", t);
+      logger.fatal("Error reading grok-patterns file " + GROK_PATTERN_FILE + " from classpath. Grok filtering will not work.", t);
       return false;
     }
     try {
       grok.addPatternFromReader(grokPatternsReader);
     } catch (GrokException e) {
-      LOG.fatal("Error loading patterns from grok-patterns reader for file " + GROK_PATTERN_FILE, e);
+      logger.fatal("Error loading patterns from grok-patterns reader for file " + GROK_PATTERN_FILE, e);
       return false;
     }
 
@@ -284,7 +285,7 @@ public class FilterGrok extends Filter<LogFeederProps> {
     String logMessageKey = this.getClass().getSimpleName() + "_PARSEERROR";
     int inputStrLength = inputStr != null ? inputStr.length() : 0;
     LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Error parsing string. length=" + inputStrLength + ", input=" +
-        getInput().getShortDescription() + ". First upto 100 characters=" + StringUtils.abbreviate(inputStr, 100), null, LOG,
+        getInput().getShortDescription() + ". First upto 100 characters=" + StringUtils.abbreviate(inputStr, 100), null, logger,
         Level.WARN);
   }
 
@@ -295,7 +296,7 @@ public class FilterGrok extends Filter<LogFeederProps> {
       try {
         applyMessage(strBuff.toString(), jsonObj, currMultilineJsonStr);
       } catch (Exception e) {
-        LOG.error(e.getLocalizedMessage(), e.getCause());
+        logger.error(e.getLocalizedMessage(), e.getCause());
       }
       strBuff = null;
       savedInputMarker = null;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterJSON.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterJSON.java
index 207d6f8..b7cf55d 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterJSON.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterJSON.java
@@ -25,14 +25,14 @@ import org.apache.ambari.logfeeder.plugin.filter.Filter;
 import org.apache.ambari.logfeeder.plugin.input.InputMarker;
 import org.apache.ambari.logfeeder.util.DateUtil;
 import org.apache.ambari.logfeeder.util.LogFeederUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Map;
 
 public class FilterJSON extends Filter<LogFeederProps> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(FilterJSON.class);
+  private static final Logger logger = LogManager.getLogger(FilterJSON.class);
 
   @Override
   public void apply(String inputStr, InputMarker inputMarker) throws Exception {
@@ -40,7 +40,7 @@ public class FilterJSON extends Filter<LogFeederProps> {
     try {
       jsonMap = LogFeederUtil.toJSONObject(inputStr);
     } catch (Exception e) {
-      LOG.error(e.getLocalizedMessage());
+      logger.error(e.getLocalizedMessage());
       throw new LogFeederException("Json parsing failed for inputstr = " + inputStr ,e.getCause());
     }
     Double lineNumberD = (Double) jsonMap.get("line_number");
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterKeyValue.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterKeyValue.java
index 695c7e3..64f3763 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterKeyValue.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/FilterKeyValue.java
@@ -26,8 +26,9 @@ import org.apache.ambari.logfeeder.plugin.input.InputMarker;
 import org.apache.ambari.logfeeder.util.LogFeederUtil;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.FilterKeyValueDescriptor;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.HashMap;
 import java.util.List;
@@ -36,7 +37,7 @@ import java.util.regex.Pattern;
 
 public class FilterKeyValue extends Filter<LogFeederProps> {
 
-  private static final Logger LOG = Logger.getLogger(FilterKeyValue.class);
+  private static final Logger logger = LogManager.getLogger(FilterKeyValue.class);
 
   private String sourceField = null;
   private String valueSplit = "=";
@@ -54,10 +55,10 @@ public class FilterKeyValue extends Filter<LogFeederProps> {
     fieldSplit = StringUtils.defaultString(((FilterKeyValueDescriptor)getFilterDescriptor()).getFieldSplit(), fieldSplit);
     valueBorders = ((FilterKeyValueDescriptor)getFilterDescriptor()).getValueBorders();
 
-    LOG.info("init() done. source_field=" + sourceField + ", value_split=" + valueSplit + ", " + ", field_split=" +
+    logger.info("init() done. source_field=" + sourceField + ", value_split=" + valueSplit + ", " + ", field_split=" +
         fieldSplit + ", " + getShortDescription());
     if (StringUtils.isEmpty(sourceField)) {
-      LOG.fatal("source_field is not set for filter. Thiss filter will not be applied");
+      logger.fatal("source_field is not set for filter. Thiss filter will not be applied");
       return;
     }
   }
@@ -140,7 +141,7 @@ public class FilterKeyValue extends Filter<LogFeederProps> {
     errorMetric.value++;
     String logMessageKey = this.getClass().getSimpleName() + "_PARSEERROR";
     LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Error parsing string. length=" + inputStr.length() + ", input=" +
-        getInput().getShortDescription() + ". First upto 200 characters=" + StringUtils.abbreviate(inputStr, 200), null, LOG,
+        getInput().getShortDescription() + ". First upto 200 characters=" + StringUtils.abbreviate(inputStr, 200), null, logger,
         Level.ERROR);
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputConfigUploader.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputConfigUploader.java
index 0c551cd..12198eea7 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputConfigUploader.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputConfigUploader.java
@@ -23,8 +23,8 @@ import org.apache.ambari.logfeeder.loglevelfilter.LogLevelFilterHandler;
 import org.apache.ambari.logfeeder.common.ConfigHandler;
 import org.apache.ambari.logfeeder.conf.LogFeederProps;
 import org.apache.ambari.logsearch.config.api.LogSearchConfigLogFeeder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
@@ -37,7 +37,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 public class InputConfigUploader extends Thread {
-  protected static final Logger LOG = LoggerFactory.getLogger(InputConfigUploader.class);
+  private static final Logger logger = LogManager.getLogger(InputConfigUploader.class);
 
   private static final long SLEEP_BETWEEN_CHECK = 2000;
 
@@ -87,18 +87,18 @@ public class InputConfigUploader extends Thread {
               }
               filesHandled.add(inputConfigFile.getAbsolutePath());
             } catch (Exception e) {
-              LOG.warn("Error handling file " + inputConfigFile.getAbsolutePath(), e);
+              logger.warn("Error handling file " + inputConfigFile.getAbsolutePath(), e);
             }
           }
         }
       } else {
-        LOG.warn("Cannot find input config files in config dir ({})", logFeederProps.getConfDir());
+        logger.warn("Cannot find input config files in config dir ({})", logFeederProps.getConfDir());
       }
 
       try {
         Thread.sleep(SLEEP_BETWEEN_CHECK);
       } catch (InterruptedException e) {
-        LOG.debug("Interrupted during sleep", e);
+        logger.debug("Interrupted during sleep", e);
       }
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputFile.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputFile.java
index c31f404..74e2ed4 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputFile.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputFile.java
@@ -36,9 +36,9 @@ import org.apache.commons.lang.BooleanUtils;
 import org.apache.commons.lang.ObjectUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.common.util.Base64;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -46,7 +46,7 @@ import java.util.*;
 
 public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileBaseDescriptor> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(InputFile.class);
+  private static final Logger logger = LogManager.getLogger(InputFile.class);
 
   private static final boolean DEFAULT_TAIL = true;
   private static final boolean DEFAULT_USE_EVENT_MD5 = false;
@@ -102,7 +102,7 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
             isReady = true;
           }
         } else {
-          LOG.warn("Docker registry is not set, probably docker registry usage is not enabled.");
+          logger.warn("Docker registry is not set, probably docker registry usage is not enabled.");
         }
       } else {
         logFiles = getActualInputLogFiles();
@@ -110,13 +110,13 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
         setFolderMap(foldersMap);
         if (!ArrayUtils.isEmpty(logFiles) && logFiles[0].isFile()) {
           if (tail && logFiles.length > 1) {
-            LOG.warn("Found multiple files (" + logFiles.length + ") for the file filter " + filePath +
+            logger.warn("Found multiple files (" + logFiles.length + ") for the file filter " + filePath +
               ". Will follow only the first one. Using " + logFiles[0].getAbsolutePath());
           }
-          LOG.info("File filter " + filePath + " expanded to " + logFiles[0].getAbsolutePath());
+          logger.info("File filter " + filePath + " expanded to " + logFiles[0].getAbsolutePath());
           isReady = true;
         } else {
-          LOG.debug(logPath + " file doesn't exist. Ignoring for now");
+          logger.debug(logPath + " file doesn't exist. Ignoring for now");
         }
       }
     }
@@ -134,7 +134,7 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
       try {
         return (getType() + "=" + (new File(filePath)).getName());
       } catch (Throwable ex) {
-        LOG.warn("Couldn't get basename for filePath=" + filePath, ex);
+        logger.warn("Couldn't get basename for filePath=" + filePath, ex);
       }
     }
     return super.getNameForThread() + ":" + getType();
@@ -202,7 +202,7 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
           throw new RuntimeException(e);
         }
       } else {
-        LOG.info("Starting thread. " + getShortDescription());
+        logger.info("Starting thread. " + getShortDescription());
         thread = new Thread(this, getNameForThread());
         thread.start();
       }
@@ -221,7 +221,7 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
   @Override
   public void init(LogFeederProps logFeederProps) throws Exception {
     super.init(logFeederProps);
-    LOG.info("init() called");
+    logger.info("init() called");
 
     InputFileDescriptor inputFileDescriptor = (InputFileDescriptor) getInputDescriptor(); // cast as InputS3 uses InputFileBaseDescriptor
     checkPointExtension = logFeederProps.getCheckPointExtension();
@@ -239,14 +239,14 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
     if (dockerLog) {
       if (logFeederProps.isDockerContainerRegistryEnabled()) {
         boolean isFileReady = isReady();
-        LOG.info("Container type to monitor " + getType() + ", tail=" + tail + ", isReady=" + isFileReady);
+        logger.info("Container type to monitor " + getType() + ", tail=" + tail + ", isReady=" + isFileReady);
       } else {
-        LOG.warn("Using docker input, but docker registry usage is not enabled.");
+        logger.warn("Using docker input, but docker registry usage is not enabled.");
       }
     } else {
       logPath = getInputDescriptor().getPath();
       if (StringUtils.isEmpty(logPath)) {
-        LOG.error("path is empty for file input. " + getShortDescription());
+        logger.error("path is empty for file input. " + getShortDescription());
         return;
       }
 
@@ -256,12 +256,12 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
         int lastIndexOfSlash = getFilePath().lastIndexOf("/");
         String folderBeforeLogName = getFilePath().substring(0, lastIndexOfSlash);
         if (folderBeforeLogName.contains("*")) {
-          LOG.info("Found regex in folder path ('" + getFilePath() + "'), will check against multiple folders.");
+          logger.info("Found regex in folder path ('" + getFilePath() + "'), will check against multiple folders.");
           setMultiFolder(true);
         }
       }
       boolean isFileReady = isReady();
-      LOG.info("File to monitor " + logPath + ", tail=" + tail + ", isReady=" + isFileReady);
+      logger.info("File to monitor " + logPath + ", tail=" + tail + ", isReady=" + isFileReady);
     }
 
     LogEntryCacheConfig cacheConfig = logFeederProps.getLogEntryCacheConfig();
@@ -288,11 +288,11 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
           try {
             processFile(file, i == 0);
             if (isClosed() || isDrain()) {
-              LOG.info("isClosed or isDrain. Now breaking loop.");
+              logger.info("isClosed or isDrain. Now breaking loop.");
               break;
             }
           } catch (Throwable t) {
-            LOG.error("Error processing file=" + file.getAbsolutePath(), t);
+            logger.error("Error processing file=" + file.getAbsolutePath(), t);
           }
         }
       }
@@ -314,7 +314,7 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
     BufferedReader br = new BufferedReader(LogsearchReaderFactory.INSTANCE.getReader(logFile));
     fileKey = getFileKeyFromLogFile(logFile);
     base64FileKey = Base64.byteArrayToBase64(fileKey.toString().getBytes());
-    LOG.info("fileKey=" + fileKey + ", base64=" + base64FileKey + ". " + getShortDescription());
+    logger.info("fileKey=" + fileKey + ", base64=" + base64FileKey + ". " + getShortDescription());
     return br;
   }
 
@@ -330,18 +330,18 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
           InputFileMarker marker = new InputFileMarker(this, null, 0);
           getOutputManager().copyFile(file, marker);
           if (isClosed() || isDrain()) {
-            LOG.info("isClosed or isDrain. Now breaking loop.");
+            logger.info("isClosed or isDrain. Now breaking loop.");
             break;
           }
         } catch (Throwable t) {
-          LOG.error("Error processing file=" + file.getAbsolutePath(), t);
+          logger.error("Error processing file=" + file.getAbsolutePath(), t);
         }
       }
     }
   }
 
   public void startNewChildDockerInputFileThread(DockerMetadata dockerMetadata) throws CloneNotSupportedException {
-    LOG.info("Start docker child input thread - " + dockerMetadata.getLogPath());
+    logger.info("Start docker child input thread - " + dockerMetadata.getLogPath());
     InputFile clonedObject = (InputFile) this.clone();
     clonedObject.setDockerLogParent(false);
     clonedObject.logPath = dockerMetadata.getLogPath();
@@ -357,7 +357,7 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
   }
 
   public void stopChildDockerInputFileThread(String logPathKey) {
-    LOG.info("Stop child input thread - " + logPathKey);
+    logger.info("Stop child input thread - " + logPathKey);
     String filePath = new File(logPathKey).getName();
     if (inputChildMap.containsKey(logPathKey)) {
       InputFile inputFile = inputChildMap.get(logPathKey);
@@ -367,18 +367,18 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
       }
       inputChildMap.remove(logPathKey);
     } else {
-      LOG.warn(logPathKey + " not found as an input child.");
+      logger.warn(logPathKey + " not found as an input child.");
     }
   }
 
   public void startNewChildInputFileThread(Map.Entry<String, List<File>> folderFileEntry) throws CloneNotSupportedException {
-    LOG.info("Start child input thread - " + folderFileEntry.getKey());
+    logger.info("Start child input thread - " + folderFileEntry.getKey());
     InputFile clonedObject = (InputFile) this.clone();
     String folderPath = folderFileEntry.getKey();
     String filePath = new File(getFilePath()).getName();
     String fullPathWithWildCard = String.format("%s/%s", folderPath, filePath);
     if (clonedObject.getMaxAgeMin() != 0 && FileUtil.isFileTooOld(new File(fullPathWithWildCard), clonedObject.getMaxAgeMin().longValue())) {
-      LOG.info(String.format("File ('%s') is too old (max age min: %d), monitor thread not starting...", getFilePath(), clonedObject.getMaxAgeMin()));
+      logger.info(String.format("File ('%s') is too old (max age min: %d), monitor thread not starting...", getFilePath(), clonedObject.getMaxAgeMin()));
     } else {
       clonedObject.setMultiFolder(false);
       clonedObject.logFiles = folderFileEntry.getValue().toArray(new File[0]); // TODO: works only with tail
@@ -397,7 +397,7 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
   private void copyFilters(InputFile clonedInput, Filter firstFilter) {
     if (firstFilter != null) {
       try {
-        LOG.info("Cloning filters for input=" + clonedInput.logPath);
+        logger.info("Cloning filters for input=" + clonedInput.logPath);
         Filter newFilter = (Filter) firstFilter.clone();
         newFilter.setInput(clonedInput);
         clonedInput.setFirstFilter(newFilter);
@@ -415,15 +415,15 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
             actFilter = null;
           }
         }
-        LOG.info("Cloning filters has finished for input=" + clonedInput.logPath);
+        logger.info("Cloning filters has finished for input=" + clonedInput.logPath);
       } catch (Exception e) {
-        LOG.error("Could not clone filters for input=" + clonedInput.logPath);
+        logger.error("Could not clone filters for input=" + clonedInput.logPath);
       }
     }
   }
 
   public void stopChildInputFileThread(String folderPathKey) {
-    LOG.info("Stop child input thread - " + folderPathKey);
+    logger.info("Stop child input thread - " + folderPathKey);
     String filePath = new File(getFilePath()).getName();
     String fullPathWithWildCard = String.format("%s/%s", folderPathKey, filePath);
     if (inputChildMap.containsKey(fullPathWithWildCard)) {
@@ -434,7 +434,7 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
       }
       inputChildMap.remove(fullPathWithWildCard);
     } else {
-      LOG.warn(fullPathWithWildCard + " not found as an input child.");
+      logger.warn(fullPathWithWildCard + " not found as an input child.");
     }
   }
 
@@ -451,15 +451,15 @@ public class InputFile extends Input<LogFeederProps, InputFileMarker, InputFileB
 
   @Override
   public boolean logConfigs() {
-    LOG.info("Printing Input=" + getShortDescription());
-    LOG.info("description=" + getInputDescriptor().getPath());
+    logger.info("Printing Input=" + getShortDescription());
+    logger.info("description=" + getInputDescriptor().getPath());
     return true;
   }
 
   @Override
   public void close() {
     super.close();
-    LOG.info("close() calling checkPoint checkIn(). " + getShortDescription());
+    logger.info("close() calling checkPoint checkIn(). " + getShortDescription());
     lastCheckIn();
     setClosed(true);
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManagerImpl.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManagerImpl.java
index a256fd7..60bd4ca 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManagerImpl.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManagerImpl.java
@@ -26,10 +26,10 @@ import org.apache.ambari.logfeeder.plugin.manager.CheckpointManager;
 import org.apache.ambari.logfeeder.plugin.common.MetricData;
 import org.apache.ambari.logfeeder.plugin.input.Input;
 import org.apache.ambari.logfeeder.plugin.manager.InputManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.inject.Inject;
-import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -40,7 +40,7 @@ import java.util.Set;
 
 public class InputManagerImpl extends InputManager {
 
-  private static final Logger LOG = Logger.getLogger(InputManagerImpl.class);
+  private static final Logger logger = LogManager.getLogger(InputManagerImpl.class);
 
   private Map<String, List<Input>> inputs = new HashMap<>();
   private Set<Input> notReadyList = new HashSet<>();
@@ -91,13 +91,13 @@ public class InputManagerImpl extends InputManager {
 
   @Override
   public void removeInput(Input input) {
-    LOG.info("Trying to remove from inputList. " + input.getShortDescription());
+    logger.info("Trying to remove from inputList. " + input.getShortDescription());
     for (List<Input> inputList : inputs.values()) {
       Iterator<Input> iter = inputList.iterator();
       while (iter.hasNext()) {
         Input iterInput = iter.next();
         if (iterInput.equals(input)) {
-          LOG.info("Removing Input from inputList. " + input.getShortDescription());
+          logger.info("Removing Input from inputList. " + input.getShortDescription());
           iter.remove();
         }
       }
@@ -135,10 +135,10 @@ public class InputManagerImpl extends InputManager {
     inputIsReadyMonitor = new Thread("InputIsReadyMonitor") {
       @Override
       public void run() {
-        LOG.info("Going to monitor for these missing files: " + notReadyList.toString());
+        logger.info("Going to monitor for these missing files: " + notReadyList.toString());
         while (true) {
           if (isDrain) {
-            LOG.info("Exiting missing file monitor.");
+            logger.info("Exiting missing file monitor.");
             break;
           }
           try {
@@ -151,7 +151,7 @@ public class InputManagerImpl extends InputManager {
                   iter.remove();
                 }
               } catch (Throwable t) {
-                LOG.error("Error while enabling monitoring for input. " + input.getShortDescription());
+                logger.error("Error while enabling monitoring for input. " + input.getShortDescription());
               }
             }
             Thread.sleep(30 * 1000);
@@ -176,12 +176,12 @@ public class InputManagerImpl extends InputManager {
         if (input.isReady()) {
           input.monitor();
         } else {
-          LOG.info("Adding input to not ready list. Note, it is possible this component is not run on this host. " +
+          logger.info("Adding input to not ready list. Note, it is possible this component is not run on this host. " +
             "So it might not be an issue. " + input.getShortDescription());
           notReadyList.add(input);
         }
       } catch (Exception e) {
-        LOG.error("Error initializing input. " + input.getShortDescription(), e);
+        logger.error("Error initializing input. " + input.getShortDescription(), e);
       }
     }
   }
@@ -254,7 +254,7 @@ public class InputManagerImpl extends InputManager {
         try {
           input.setDrain(true);
         } catch (Throwable t) {
-          LOG.error("Error while draining. input=" + input.getShortDescription(), t);
+          logger.error("Error while draining. input=" + input.getShortDescription(), t);
         }
       }
     }
@@ -270,7 +270,7 @@ public class InputManagerImpl extends InputManager {
           if (!input.isClosed()) {
             try {
               allClosed = false;
-              LOG.warn("Waiting for input to close. " + input.getShortDescription() + ", " + (iterations - i) + " more seconds");
+              logger.warn("Waiting for input to close. " + input.getShortDescription() + ", " + (iterations - i) + " more seconds");
               Thread.sleep(waitTimeMS);
             } catch (Throwable t) {
               // Ignore
@@ -279,16 +279,16 @@ public class InputManagerImpl extends InputManager {
         }
       }
       if (allClosed) {
-        LOG.info("All inputs are closed. Iterations=" + i);
+        logger.info("All inputs are closed. Iterations=" + i);
         return;
       }
     }
 
-    LOG.warn("Some inputs were not closed after " + iterations + " iterations");
+    logger.warn("Some inputs were not closed after " + iterations + " iterations");
     for (List<Input> inputList : inputs.values()) {
       for (Input input : inputList) {
         if (!input.isClosed()) {
-          LOG.warn("Input not closed. Will ignore it." + input.getShortDescription());
+          logger.warn("Input not closed. Will ignore it." + input.getShortDescription());
         }
       }
     }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputS3File.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputS3File.java
index 41db8bd..274183c 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputS3File.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputS3File.java
@@ -21,16 +21,16 @@ package org.apache.ambari.logfeeder.input;
 import org.apache.ambari.logfeeder.util.S3Util;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.InputS3FileDescriptor;
 import org.apache.commons.lang.ArrayUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.common.util.Base64;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.BufferedReader;
 import java.io.File;
 
 public class InputS3File extends InputFile {
 
-  private static final Logger LOG = LoggerFactory.getLogger(InputS3File.class);
+  private static final Logger logger = LogManager.getLogger(InputS3File.class);
 
   @Override
   public boolean isReady() {
@@ -39,13 +39,13 @@ public class InputS3File extends InputFile {
       setLogFiles(getActualFiles(getLogPath()));
       if (!ArrayUtils.isEmpty(getLogFiles())) {
         if (isTail() && getLogFiles().length > 1) {
-          LOG.warn("Found multiple files (" + getLogFiles().length + ") for the file filter " + getFilePath() +
+          logger.warn("Found multiple files (" + getLogFiles().length + ") for the file filter " + getFilePath() +
               ". Will use only the first one. Using " + getLogFiles()[0].getAbsolutePath());
         }
-        LOG.info("File filter " + getFilePath() + " expanded to " + getLogFiles()[0].getAbsolutePath());
+        logger.info("File filter " + getFilePath() + " expanded to " + getLogFiles()[0].getAbsolutePath());
         setReady(true);
       } else {
-        LOG.debug(getLogPath() + " file doesn't exist. Ignoring for now");
+        logger.debug(getLogPath() + " file doesn't exist. Ignoring for now");
       }
     }
     return isReady();
@@ -67,11 +67,11 @@ public class InputS3File extends InputFile {
         try {
           processFile(file, i == 0);
           if (isClosed() || isDrain()) {
-            LOG.info("isClosed or isDrain. Now breaking loop.");
+            logger.info("isClosed or isDrain. Now breaking loop.");
             break;
           }
         } catch (Throwable t) {
-          LOG.error("Error processing file=" + file.getAbsolutePath(), t);
+          logger.error("Error processing file=" + file.getAbsolutePath(), t);
         }
       }
     }
@@ -87,7 +87,7 @@ public class InputS3File extends InputFile {
     setFileKey(fileKey);
     String base64FileKey = Base64.byteArrayToBase64(getFileKey().toString().getBytes());
     setBase64FileKey(base64FileKey);
-    LOG.info("fileKey=" + fileKey + ", base64=" + base64FileKey + ". " + getShortDescription());
+    logger.info("fileKey=" + fileKey + ", base64=" + base64FileKey + ". " + getShortDescription());
     return br;
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSimulate.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSimulate.java
index 13b00e3..5609f61 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSimulate.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSimulate.java
@@ -29,9 +29,9 @@ import org.apache.ambari.logsearch.config.api.model.inputconfig.InputDescriptor;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.FilterJsonDescriptorImpl;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputDescriptorImpl;
 import org.apache.commons.collections.MapUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.common.util.Base64;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.net.InetAddress;
 import java.util.ArrayList;
@@ -46,7 +46,7 @@ import java.util.TreeSet;
 import java.util.concurrent.atomic.AtomicInteger;
 
 public class InputSimulate extends InputFile {
-  private static final Logger LOG = LoggerFactory.getLogger(InputSimulate.class);
+  private static final Logger logger = LogManager.getLogger(InputSimulate.class);
   private static final String LOG_TEXT_PATTERN = "{ logtime=\"%d\", level=\"%s\", log_message=\"%s\", host=\"%s\"}";
 
   private static final Map<String, String> typeToFilePath = new HashMap<>();
@@ -114,7 +114,7 @@ public class InputSimulate extends InputFile {
       simulateOutputs.add(outputCopy);
       super.addOutput(outputCopy);
     } catch (Exception e) {
-      LOG.warn("Could not copy Output class " + output.getClass() + ", using original output");
+      logger.warn("Could not copy Output class " + output.getClass() + ", using original output");
       super.addOutput(output);
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSocket.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSocket.java
index 36b4301..554923aac 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSocket.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputSocket.java
@@ -24,8 +24,8 @@ import org.apache.ambari.logsearch.appender.LogsearchConversion;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.InputSocketDescriptor;
 import org.apache.commons.lang.ObjectUtils;
 import org.apache.log4j.spi.LoggingEvent;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.net.ServerSocketFactory;
 import javax.net.ssl.SSLServerSocketFactory;
@@ -39,7 +39,7 @@ import java.net.SocketException;
 
 public class InputSocket extends Input<LogFeederProps, InputSocketMarker, InputSocketDescriptor> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(InputSocket.class);
+  private static final Logger logger = LogManager.getLogger(InputSocket.class);
 
   private ServerSocket serverSocket;
   private Thread thread;
@@ -64,7 +64,7 @@ public class InputSocket extends Input<LogFeederProps, InputSocketMarker, InputS
   @Override
   public boolean monitor() {
     if (isReady()) {
-      LOG.info("Start monitoring socket thread...");
+      logger.info("Start monitoring socket thread...");
       thread = new Thread(this, getNameForThread());
       thread.start();
       return true;
@@ -75,7 +75,7 @@ public class InputSocket extends Input<LogFeederProps, InputSocketMarker, InputS
 
   @Override
   public void start() throws Exception {
-    LOG.info("Starting socket server (port: {}, protocol: {}, secure: {})", port, protocol, secure);
+    logger.info("Starting socket server (port: {}, protocol: {}, secure: {})", port, protocol, secure);
     ServerSocketFactory socketFactory = secure ? SSLServerSocketFactory.getDefault() : ServerSocketFactory.getDefault();
     InputSocketMarker inputSocketMarker = new InputSocketMarker(this, port, protocol, secure, log4j);
     LogsearchConversion loggerConverter = new LogsearchConversion();
@@ -88,19 +88,19 @@ public class InputSocket extends Input<LogFeederProps, InputSocketMarker, InputS
           try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(socket.getInputStream()))) {
             LoggingEvent loggingEvent = (LoggingEvent) ois.readObject();
             String jsonStr = loggerConverter.createOutput(loggingEvent);
-            LOG.trace("Incoming socket logging event: " + jsonStr);
+            logger.trace("Incoming socket logging event: " + jsonStr);
             outputLine(jsonStr, inputSocketMarker);
           }
         } else {
           try (BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));) {
             String line = in.readLine();
-            LOG.trace("Incoming socket message: " + line);
+            logger.trace("Incoming socket message: " + line);
             outputLine(line, inputSocketMarker);
           }
         }
       }
     } catch (SocketException socketEx) {
-      LOG.warn("{}", socketEx.getMessage());
+      logger.warn("{}", socketEx.getMessage());
     } finally {
       serverSocket.close();
     }
@@ -109,12 +109,12 @@ public class InputSocket extends Input<LogFeederProps, InputSocketMarker, InputS
   @Override
   public void setDrain(boolean drain) {
     super.setDrain(drain);
-    LOG.info("Stopping socket input: {}", getShortDescription());
+    logger.info("Stopping socket input: {}", getShortDescription());
     try {
       serverSocket.close();
       setClosed(true);
     } catch (Exception e) {
-      LOG.error("Error during closing socket input.", e);
+      logger.error("Error during closing socket input.", e);
     }
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/ProcessFileHelper.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/ProcessFileHelper.java
index 4ed415a..e3d34cd 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/ProcessFileHelper.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/ProcessFileHelper.java
@@ -21,21 +21,22 @@ package org.apache.ambari.logfeeder.input.file;
 import org.apache.ambari.logfeeder.input.InputFile;
 import org.apache.ambari.logfeeder.input.InputFileMarker;
 import org.apache.ambari.logfeeder.util.LogFeederUtil;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.BufferedReader;
 import java.io.File;
 
 public class ProcessFileHelper {
 
-  private static final Logger LOG = Logger.getLogger(ProcessFileHelper.class);
+  private static final Logger logger = LogManager.getLogger(ProcessFileHelper.class);
 
   private ProcessFileHelper() {
   }
 
   public static void processFile(InputFile inputFile, File logPathFile, boolean follow) throws Exception {
-    LOG.info("Monitoring logPath=" + inputFile.getLogPath() + ", logPathFile=" + logPathFile);
+    logger.info("Monitoring logPath=" + inputFile.getLogPath() + ", logPathFile=" + logPathFile);
     BufferedReader br = null;
 
     int lineCount = 0;
@@ -47,7 +48,7 @@ public class ProcessFileHelper {
       boolean resume = true;
       int resumeFromLineNumber = inputFile.getResumeFromLineNumber();
       if (resumeFromLineNumber > 0) {
-        LOG.info("Resuming log file " + logPathFile.getAbsolutePath() + " from line number " + resumeFromLineNumber);
+        logger.info("Resuming log file " + logPathFile.getAbsolutePath() + " from line number " + resumeFromLineNumber);
         resume = false;
       }
 
@@ -69,36 +70,36 @@ public class ProcessFileHelper {
             if (sleepIteration == 2) {
               inputFile.flush();
               if (!follow) {
-                LOG.info("End of file. Done with filePath=" + logPathFile.getAbsolutePath() + ", lineCount=" + lineCount);
+                logger.info("End of file. Done with filePath=" + logPathFile.getAbsolutePath() + ", lineCount=" + lineCount);
                 break;
               }
             } else if (sleepIteration > 4) {
               Object newFileKey = inputFile.getFileKeyFromLogFile(logPathFile);
               if (newFileKey != null && (inputFile.getFileKey() == null || !newFileKey.equals(inputFile.getFileKey()))) {
-                LOG.info("File key is different. Marking this input file for rollover. oldKey=" + inputFile.getFileKey() + ", newKey=" +
+                logger.info("File key is different. Marking this input file for rollover. oldKey=" + inputFile.getFileKey() + ", newKey=" +
                   newFileKey + ". " + inputFile.getShortDescription());
 
                 try {
-                  LOG.info("File is rolled over. Closing current open file." + inputFile.getShortDescription() + ", lineCount=" +
+                  logger.info("File is rolled over. Closing current open file." + inputFile.getShortDescription() + ", lineCount=" +
                     lineCount);
                   br.close();
                 } catch (Exception ex) {
-                  LOG.error("Error closing file" + inputFile.getShortDescription(), ex);
+                  logger.error("Error closing file" + inputFile.getShortDescription(), ex);
                   break;
                 }
 
                 try {
-                  LOG.info("Opening new rolled over file." + inputFile.getShortDescription());
+                  logger.info("Opening new rolled over file." + inputFile.getShortDescription());
                   br = inputFile.openLogFile(logPathFile);
                   lineCount = 0;
                 } catch (Exception ex) {
-                  LOG.error("Error opening rolled over file. " + inputFile.getShortDescription(), ex);
-                  LOG.info("Added input to not ready list." + inputFile.getShortDescription());
+                  logger.error("Error opening rolled over file. " + inputFile.getShortDescription(), ex);
+                  logger.info("Added input to not ready list." + inputFile.getShortDescription());
                   inputFile.setReady(false);
                   inputFile.getInputManager().addToNotReady(inputFile);
                   break;
                 }
-                LOG.info("File is successfully rolled over. " + inputFile.getShortDescription());
+                logger.info("File is successfully rolled over. " + inputFile.getShortDescription());
                 continue;
               }
             }
@@ -106,7 +107,7 @@ public class ProcessFileHelper {
               Thread.sleep(sleepStep * 1000);
               sleepStep = Math.min(sleepStep * 2, 10);
             } catch (InterruptedException e) {
-              LOG.info("Thread interrupted." + inputFile.getShortDescription());
+              logger.info("Thread interrupted." + inputFile.getShortDescription());
             }
           } else {
             lineCount++;
@@ -114,7 +115,7 @@ public class ProcessFileHelper {
             sleepIteration = 0;
 
             if (!resume && lineCount > resumeFromLineNumber) {
-              LOG.info("Resuming to read from last line. lineCount=" + lineCount + ", input=" + inputFile.getShortDescription());
+              logger.info("Resuming to read from last line. lineCount=" + lineCount + ", input=" + inputFile.getShortDescription());
               resume = true;
             }
             if (resume) {
@@ -125,12 +126,12 @@ public class ProcessFileHelper {
         } catch (Throwable t) {
           String logMessageKey = inputFile.getClass().getSimpleName() + "_READ_LOOP_EXCEPTION";
           LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Caught exception in read loop. lineNumber=" + lineCount +
-            ", input=" + inputFile.getShortDescription(), t, LOG, Level.ERROR);
+            ", input=" + inputFile.getShortDescription(), t, logger, Level.ERROR);
         }
       }
     } finally {
       if (br != null) {
-        LOG.info("Closing reader." + inputFile.getShortDescription() + ", lineCount=" + lineCount);
+        logger.info("Closing reader." + inputFile.getShortDescription() + ", lineCount=" + lineCount);
         try {
           br.close();
         } catch (Throwable t) {
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/FileCheckpointManager.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/FileCheckpointManager.java
index 69c21fb..bdd775a 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/FileCheckpointManager.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/FileCheckpointManager.java
@@ -28,10 +28,9 @@ import org.apache.ambari.logfeeder.input.file.checkpoint.util.ResumeLineNumberHe
 import org.apache.ambari.logfeeder.input.monitor.CheckpointCleanupMonitor;
 import org.apache.ambari.logfeeder.plugin.manager.CheckpointManager;
 import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
-import java.io.EOFException;
 import java.io.File;
 import java.io.IOException;
 import java.util.Map;
@@ -40,7 +39,7 @@ import java.util.stream.Stream;
 
 public class FileCheckpointManager implements CheckpointManager<InputFile, InputFileMarker, LogFeederProps> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(FileCheckpointManager.class);
+  private static final Logger logger = LogManager.getLogger(FileCheckpointManager.class);
 
   private static final String CHECKPOINT_SUBFOLDER_NAME = "logfeeder_checkpoints";
 
@@ -50,7 +49,7 @@ public class FileCheckpointManager implements CheckpointManager<InputFile, Input
   @Override
   public void init(LogFeederProps logFeederProps) {
     checkPointExtension = logFeederProps.getCheckPointExtension();
-    LOG.info("Determining valid checkpoint folder");
+    logger.info("Determining valid checkpoint folder");
     boolean isCheckPointFolderValid = false;
     // We need to keep track of the files we are reading.
     String checkPointFolder = logFeederProps.getCheckpointFolder();
@@ -62,16 +61,16 @@ public class FileCheckpointManager implements CheckpointManager<InputFile, Input
     if (!isCheckPointFolderValid) {
       // Let's use tmp folder
       checkPointFolderFile = new File(logFeederProps.getTmpDir(), CHECKPOINT_SUBFOLDER_NAME);
-      LOG.info("Checking if tmp folder can be used for checkpoints. Folder=" + checkPointFolderFile);
+      logger.info("Checking if tmp folder can be used for checkpoints. Folder=" + checkPointFolderFile);
       isCheckPointFolderValid = verifyCheckPointFolder(checkPointFolderFile);
       if (isCheckPointFolderValid) {
-        LOG.warn("Using tmp folder " + checkPointFolderFile + " to store check points. This is not recommended." +
+        logger.warn("Using tmp folder " + checkPointFolderFile + " to store check points. This is not recommended." +
           "Please set logfeeder.checkpoint.folder property");
       }
     }
 
     if (isCheckPointFolderValid) {
-      LOG.info("Using folder " + checkPointFolderFile + " for storing checkpoints");
+      logger.info("Using folder " + checkPointFolderFile + " for storing checkpoints");
       // check checkpoint cleanup every 2000 min
       Thread checkpointCleanupThread = new Thread(new CheckpointCleanupMonitor(this, 2000),"checkpoint_cleanup");
       checkpointCleanupThread.setDaemon(true);
@@ -161,10 +160,10 @@ public class FileCheckpointManager implements CheckpointManager<InputFile, Input
     if (!folderPathFile.exists()) {
       try {
         if (!folderPathFile.mkdir()) {
-          LOG.warn("Error creating folder for check point. folder=" + folderPathFile);
+          logger.warn("Error creating folder for check point. folder=" + folderPathFile);
         }
       } catch (Throwable t) {
-        LOG.warn("Error creating folder for check point. folder=" + folderPathFile, t);
+        logger.warn("Error creating folder for check point. folder=" + folderPathFile, t);
       }
     }
 
@@ -175,7 +174,7 @@ public class FileCheckpointManager implements CheckpointManager<InputFile, Input
         testFile.createNewFile();
         return testFile.delete();
       } catch (IOException e) {
-        LOG.warn("Couldn't create test file in " + folderPathFile.getAbsolutePath() + " for checkPoint", e);
+        logger.warn("Couldn't create test file in " + folderPathFile.getAbsolutePath() + " for checkPoint", e);
       }
     }
     return false;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/FileCheckInHelper.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/FileCheckInHelper.java
index b217e34..2b52661 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/FileCheckInHelper.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/FileCheckInHelper.java
@@ -22,8 +22,9 @@ import org.apache.ambari.logfeeder.input.InputFile;
 import org.apache.ambari.logfeeder.input.InputFileMarker;
 import org.apache.ambari.logfeeder.util.FileUtil;
 import org.apache.ambari.logfeeder.util.LogFeederUtil;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.io.RandomAccessFile;
@@ -32,7 +33,7 @@ import java.util.Map;
 
 public class FileCheckInHelper {
 
-  private static final Logger LOG = Logger.getLogger(FileCheckInHelper.class);
+  private static final Logger logger = LogManager.getLogger(FileCheckInHelper.class);
 
   private FileCheckInHelper() {
   }
@@ -82,12 +83,12 @@ public class FileCheckInHelper {
       if (inputFile.isClosed()) {
         String logMessageKey = inputFile.getClass().getSimpleName() + "_FINAL_CHECKIN";
         LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Wrote final checkPoint, input=" + inputFile.getShortDescription() +
-          ", checkPointFile=" + checkPointFile.getAbsolutePath() + ", checkPoint=" + jsonStr, null, LOG, Level.INFO);
+          ", checkPointFile=" + checkPointFile.getAbsolutePath() + ", checkPoint=" + jsonStr, null, logger, Level.INFO);
       }
     } catch (Throwable t) {
       String logMessageKey = inputFile.getClass().getSimpleName() + "_CHECKIN_EXCEPTION";
       LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Caught exception checkIn. , input=" + inputFile.getShortDescription(), t,
-        LOG, Level.ERROR);
+        logger, Level.ERROR);
     }
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/FileCheckpointCleanupHelper.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/FileCheckpointCleanupHelper.java
index 91b5383..d38d14d 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/FileCheckpointCleanupHelper.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/FileCheckpointCleanupHelper.java
@@ -20,9 +20,9 @@ package org.apache.ambari.logfeeder.input.file.checkpoint.util;
 
 import org.apache.ambari.logfeeder.util.FileUtil;
 import org.apache.ambari.logfeeder.util.LogFeederUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.common.util.Base64;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.EOFException;
 import java.io.File;
@@ -31,17 +31,17 @@ import java.util.Map;
 
 public class FileCheckpointCleanupHelper {
 
-  private static final Logger LOG = LoggerFactory.getLogger(FileCheckpointCleanupHelper.class);
+  private static final Logger logger = LogManager.getLogger(FileCheckpointCleanupHelper.class);
 
   private FileCheckpointCleanupHelper() {
   }
 
   public static void cleanCheckPointFiles(File checkPointFolderFile, String checkPointExtension) {
     if (checkPointFolderFile == null) {
-      LOG.info("Will not clean checkPoint files. checkPointFolderFile=null");
+      logger.info("Will not clean checkPoint files. checkPointFolderFile=null");
       return;
     }
-    LOG.info("Cleaning checkPoint files. checkPointFolderFile=" + checkPointFolderFile.getAbsolutePath());
+    logger.info("Cleaning checkPoint files. checkPointFolderFile=" + checkPointFolderFile.getAbsolutePath());
     try {
       // Loop over the check point files and if filePath is not present, then move to closed
       File[] checkPointFiles = CheckpointFileReader.getFiles(checkPointFolderFile, checkPointExtension);
@@ -52,11 +52,11 @@ public class FileCheckpointCleanupHelper {
             totalCheckFilesDeleted++;
           }
         }
-        LOG.info("Deleted " + totalCheckFilesDeleted + " checkPoint file(s). checkPointFolderFile=" +
+        logger.info("Deleted " + totalCheckFilesDeleted + " checkPoint file(s). checkPointFolderFile=" +
           checkPointFolderFile.getAbsolutePath());
       }
     } catch (Throwable t) {
-      LOG.error("Error while cleaning checkPointFiles", t);
+      logger.error("Error while cleaning checkPointFiles", t);
     }
   }
 
@@ -67,7 +67,7 @@ public class FileCheckpointCleanupHelper {
       byte b[] = new byte[contentSize];
       int readSize = checkPointReader.read(b, 0, contentSize);
       if (readSize != contentSize) {
-        LOG.error("Couldn't read expected number of bytes from checkpoint file. expected=" + contentSize + ", read="
+        logger.error("Couldn't read expected number of bytes from checkpoint file. expected=" + contentSize + ", read="
           + readSize + ", checkPointFile=" + checkPointFile);
       } else {
         String jsonCheckPointStr = new String(b, 0, readSize);
@@ -86,29 +86,29 @@ public class FileCheckpointCleanupHelper {
             Object fileKeyObj = FileUtil.getFileKey(logFile);
             String fileBase64 = Base64.byteArrayToBase64(fileKeyObj.toString().getBytes());
             if (!logFileKey.equals(fileBase64)) {
-              LOG.info("CheckPoint clean: File key has changed. old=" + logFileKey + ", new=" + fileBase64 + ", filePath=" +
+              logger.info("CheckPoint clean: File key has changed. old=" + logFileKey + ", new=" + fileBase64 + ", filePath=" +
                 logFilePath + ", checkPointFile=" + checkPointFile.getAbsolutePath());
               deleteCheckPointFile = !wasFileRenamed(logFile.getParentFile(), logFileKey);
             } else if (maxAgeMin != null && maxAgeMin != 0 && FileUtil.isFileTooOld(logFile, maxAgeMin)) {
               deleteCheckPointFile = true;
-              LOG.info("Checkpoint clean: File reached max age minutes (" + maxAgeMin + "):" + logFilePath);
+              logger.info("Checkpoint clean: File reached max age minutes (" + maxAgeMin + "):" + logFilePath);
             }
           } else {
-            LOG.info("CheckPoint clean: Log file doesn't exist. filePath=" + logFilePath + ", checkPointFile=" +
+            logger.info("CheckPoint clean: Log file doesn't exist. filePath=" + logFilePath + ", checkPointFile=" +
               checkPointFile.getAbsolutePath());
             deleteCheckPointFile = !wasFileRenamed(logFile.getParentFile(), logFileKey);
           }
           if (deleteCheckPointFile) {
-            LOG.info("Deleting CheckPoint file=" + checkPointFile.getAbsolutePath() + ", logFile=" + logFilePath);
+            logger.info("Deleting CheckPoint file=" + checkPointFile.getAbsolutePath() + ", logFile=" + logFilePath);
             checkPointFile.delete();
             deleted = true;
           }
         }
       }
     } catch (EOFException eof) {
-      LOG.warn("Caught EOFException. Ignoring reading existing checkPoint file. " + checkPointFile);
+      logger.warn("Caught EOFException. Ignoring reading existing checkPoint file. " + checkPointFile);
     } catch (Throwable t) {
-      LOG.error("Error while checking checkPoint file. " + checkPointFile, t);
+      logger.error("Error while checking checkPoint file. " + checkPointFile, t);
     }
 
     return deleted;
@@ -121,7 +121,7 @@ public class FileCheckpointCleanupHelper {
       if (searchFileBase64.equals(fileBase64)) {
         // even though the file name in the checkpoint file is different from the one it was renamed to, checkpoint files are
         // identified by their name, which is generated from the file key, which would be the same for the renamed file
-        LOG.info("CheckPoint clean: File key matches file " + file.getAbsolutePath() + ", it must have been renamed");
+        logger.info("CheckPoint clean: File key matches file " + file.getAbsolutePath() + ", it must have been renamed");
         return true;
       }
     }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/ResumeLineNumberHelper.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/ResumeLineNumberHelper.java
index 664fa4f..66c686c 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/ResumeLineNumberHelper.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/checkpoint/util/ResumeLineNumberHelper.java
@@ -20,8 +20,8 @@ package org.apache.ambari.logfeeder.input.file.checkpoint.util;
 
 import org.apache.ambari.logfeeder.input.InputFile;
 import org.apache.ambari.logfeeder.util.LogFeederUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.EOFException;
 import java.io.File;
@@ -31,7 +31,7 @@ import java.util.Map;
 
 public class ResumeLineNumberHelper {
 
-  private static final Logger LOG = LoggerFactory.getLogger(ResumeLineNumberHelper.class);
+  private static final Logger logger = LogManager.getLogger(ResumeLineNumberHelper.class);
 
   private ResumeLineNumberHelper() {
   }
@@ -41,21 +41,21 @@ public class ResumeLineNumberHelper {
 
     File checkPointFile = null;
     try {
-      LOG.info("Checking existing checkpoint file. " + inputFile.getShortDescription());
+      logger.info("Checking existing checkpoint file. " + inputFile.getShortDescription());
 
       String checkPointFileName = getCheckpointFileName(inputFile);
       checkPointFile = new File(checkPointFolder, checkPointFileName);
       inputFile.getCheckPointFiles().put(inputFile.getBase64FileKey(), checkPointFile);
       Map<String, Object> jsonCheckPoint = null;
       if (!checkPointFile.exists()) {
-        LOG.info("Checkpoint file for log file " + inputFile.getFilePath() + " doesn't exist, starting to read it from the beginning");
+        logger.info("Checkpoint file for log file " + inputFile.getFilePath() + " doesn't exist, starting to read it from the beginning");
       } else {
         try (RandomAccessFile checkPointWriter = new RandomAccessFile(checkPointFile, "rw")) {
           int contentSize = checkPointWriter.readInt();
           byte b[] = new byte[contentSize];
           int readSize = checkPointWriter.read(b, 0, contentSize);
           if (readSize != contentSize) {
-            LOG.error("Couldn't read expected number of bytes from checkpoint file. expected=" + contentSize + ", read=" +
+            logger.error("Couldn't read expected number of bytes from checkpoint file. expected=" + contentSize + ", read=" +
               readSize + ", checkPointFile=" + checkPointFile + ", input=" + inputFile.getShortDescription());
           } else {
             String jsonCheckPointStr = new String(b, 0, readSize);
@@ -63,11 +63,11 @@ public class ResumeLineNumberHelper {
 
             resumeFromLineNumber = LogFeederUtil.objectToInt(jsonCheckPoint.get("line_number"), 0, "line_number");
 
-            LOG.info("CheckPoint. checkPointFile=" + checkPointFile + ", json=" + jsonCheckPointStr +
+            logger.info("CheckPoint. checkPointFile=" + checkPointFile + ", json=" + jsonCheckPointStr +
               ", resumeFromLineNumber=" + resumeFromLineNumber);
           }
         } catch (EOFException eofEx) {
-          LOG.info("EOFException. Will reset checkpoint file " + checkPointFile.getAbsolutePath() + " for " +
+          logger.info("EOFException. Will reset checkpoint file " + checkPointFile.getAbsolutePath() + " for " +
             inputFile.getShortDescription(), eofEx);
         }
       }
@@ -81,7 +81,7 @@ public class ResumeLineNumberHelper {
       inputFile.getJsonCheckPoints().put(inputFile.getBase64FileKey(), jsonCheckPoint);
 
     } catch (Throwable t) {
-      LOG.error("Error while configuring checkpoint file. Will reset file. checkPointFile=" + checkPointFile, t);
+      logger.error("Error while configuring checkpoint file. Will reset file. checkPointFile=" + checkPointFile, t);
     }
 
     return resumeFromLineNumber;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/AbstractLogFileMonitor.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/AbstractLogFileMonitor.java
index e0acde1..a41a257 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/AbstractLogFileMonitor.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/AbstractLogFileMonitor.java
@@ -19,12 +19,12 @@
 package org.apache.ambari.logfeeder.input.monitor;
 
 import org.apache.ambari.logfeeder.input.InputFile;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 public abstract class AbstractLogFileMonitor implements Runnable {
 
-  private Logger LOG = LoggerFactory.getLogger(AbstractLogFileMonitor.class);
+  private static final Logger LOG = LogManager.getLogger(AbstractLogFileMonitor.class);
 
   private final InputFile inputFile;
   private final int waitInterval;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/CheckpointCleanupMonitor.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/CheckpointCleanupMonitor.java
index 45404c4..28bf401 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/CheckpointCleanupMonitor.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/CheckpointCleanupMonitor.java
@@ -19,12 +19,12 @@
 package org.apache.ambari.logfeeder.input.monitor;
 
 import org.apache.ambari.logfeeder.plugin.manager.CheckpointManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 public class CheckpointCleanupMonitor implements Runnable {
 
-  private static final Logger LOG = LoggerFactory.getLogger(CheckpointCleanupMonitor.class);
+  private static final Logger logger = LogManager.getLogger(CheckpointCleanupMonitor.class);
 
   private long waitIntervalMin;
   private CheckpointManager checkpointHandler;
@@ -41,7 +41,7 @@ public class CheckpointCleanupMonitor implements Runnable {
         Thread.sleep(1000 * 60 * waitIntervalMin);
         checkpointHandler.cleanupCheckpoints();
       } catch (Exception e) {
-        LOG.error("Cleanup checkpoint files thread interrupted.", e);
+        logger.error("Cleanup checkpoint files thread interrupted.", e);
       }
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/DockerLogFileUpdateMonitor.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/DockerLogFileUpdateMonitor.java
index 0275827..f33063f 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/DockerLogFileUpdateMonitor.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/DockerLogFileUpdateMonitor.java
@@ -21,8 +21,8 @@ package org.apache.ambari.logfeeder.input.monitor;
 import org.apache.ambari.logfeeder.docker.DockerContainerRegistry;
 import org.apache.ambari.logfeeder.docker.DockerMetadata;
 import org.apache.ambari.logfeeder.input.InputFile;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Date;
 import java.util.HashMap;
@@ -42,7 +42,7 @@ import java.util.Map;
  */
 public class DockerLogFileUpdateMonitor extends AbstractLogFileMonitor {
 
-  private Logger LOG = LoggerFactory.getLogger(DockerLogFileUpdateMonitor.class);
+  private static final Logger logger = LogManager.getLogger(DockerLogFileUpdateMonitor.class);
 
   public DockerLogFileUpdateMonitor(InputFile inputFile, int waitInterval, int detachTime) {
     super(inputFile, waitInterval, detachTime);
@@ -67,26 +67,26 @@ public class DockerLogFileUpdateMonitor extends AbstractLogFileMonitor {
         String containerId = containerEntry.getValue().getId();
         long timestamp = containerEntry.getValue().getTimestamp();
         boolean running = containerEntry.getValue().isRunning();
-        LOG.debug("Found log path: {} (container id: {})", logPath, containerId);
+        logger.debug("Found log path: {} (container id: {})", logPath, containerId);
         if (!copiedChildMap.containsKey(logPath)) {
           if (!running && isItTooOld(timestamp, new Date().getTime(), getDetachTime())) {
-            LOG.debug("Container with id {} is stopped, won't monitor as it stopped for long time.", containerId);
+            logger.debug("Container with id {} is stopped, won't monitor as it stopped for long time.", containerId);
           } else {
-            LOG.info("Found new container (id: {}) with new log path: {}", logPath, containerId);
+            logger.info("Found new container (id: {}) with new log path: {}", logPath, containerId);
             getInputFile().startNewChildDockerInputFileThread(containerEntry.getValue());
           }
         } else {
           if (!running && isItTooOld(timestamp, new Date().getTime(), getDetachTime())) {
-            LOG.info("Removing: {}", logPath);
+            logger.info("Removing: {}", logPath);
             getInputFile().stopChildDockerInputFileThread(containerEntry.getKey());
           }
         }
       }
     } else {
       if (!copiedChildMap.isEmpty()) {
-        LOG.info("Removing all inputs with type: {}", logType);
+        logger.info("Removing all inputs with type: {}", logType);
         for (Map.Entry<String, InputFile> inputFileEntry : copiedChildMap.entrySet()) {
-          LOG.info("Removing: {}", inputFileEntry.getKey());
+          logger.info("Removing: {}", inputFileEntry.getKey());
           getInputFile().stopChildDockerInputFileThread(inputFileEntry.getKey());
         }
       }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFileDetachMonitor.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFileDetachMonitor.java
index a40e118..875bcd4 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFileDetachMonitor.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFileDetachMonitor.java
@@ -20,8 +20,8 @@ package org.apache.ambari.logfeeder.input.monitor;
 
 import org.apache.ambari.logfeeder.input.InputFile;
 import org.apache.ambari.logfeeder.util.FileUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.util.HashMap;
@@ -33,7 +33,7 @@ import java.util.Map;
  */
 public class LogFileDetachMonitor extends AbstractLogFileMonitor {
 
-  private Logger LOG = LoggerFactory.getLogger(LogFileDetachMonitor.class);
+  private static final Logger logger = LogManager.getLogger(LogFileDetachMonitor.class);
 
   public LogFileDetachMonitor(InputFile inputFile, int interval, int detachTime) {
     super(inputFile, interval, detachTime);
@@ -60,13 +60,13 @@ public class LogFileDetachMonitor extends AbstractLogFileMonitor {
             File monitoredFile = entry.getValue().get(0);
             boolean isFileTooOld = FileUtil.isFileTooOld(monitoredFile, getDetachTime());
             if (isFileTooOld) {
-              LOG.info("File ('{}') in folder ('{}') is too old (reached {} minutes), detach input thread.", entry.getKey(), getDetachTime());
+              logger.info("File ('{}') in folder ('{}') is too old (reached {} minutes), detach input thread.", entry.getKey(), getDetachTime());
               getInputFile().stopChildInputFileThread(entry.getKey());
             }
           }
         }
       } else {
-        LOG.info("Folder not exists. ({}) Stop thread.", entry.getKey());
+        logger.info("Folder not exists. ({}) Stop thread.", entry.getKey());
         for (Map.Entry<String, InputFile> inputFileEntry : copiedInputFileMap.entrySet()) {
           if (inputFileEntry.getKey().startsWith(entry.getKey())) {
             getInputFile().stopChildInputFileThread(entry.getKey());
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFilePathUpdateMonitor.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFilePathUpdateMonitor.java
index bfcab5d..9abd71c 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFilePathUpdateMonitor.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFilePathUpdateMonitor.java
@@ -20,8 +20,8 @@ package org.apache.ambari.logfeeder.input.monitor;
 
 import org.apache.ambari.logfeeder.input.InputFile;
 import org.apache.ambari.logfeeder.util.FileUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.util.List;
@@ -32,7 +32,7 @@ import java.util.Map;
  */
 public class LogFilePathUpdateMonitor extends AbstractLogFileMonitor {
 
-  private Logger LOG = LoggerFactory.getLogger(LogFilePathUpdateMonitor.class);
+  private static final Logger logger = LogManager.getLogger(LogFilePathUpdateMonitor.class);
 
   public LogFilePathUpdateMonitor(InputFile inputFile, int interval, int detachTime) {
     super(inputFile, interval, detachTime);
@@ -54,17 +54,17 @@ public class LogFilePathUpdateMonitor extends AbstractLogFileMonitor {
         if (!entry.getValue().isEmpty()) { // check tail only for now
           File lastFile = entry.getValue().get(0);
           if (!originalLogFiles.get(0).getAbsolutePath().equals(lastFile.getAbsolutePath())) {
-            LOG.info("New file found (old: '{}', new: {}), reload thread for {}",
+            logger.info("New file found (old: '{}', new: {}), reload thread for {}",
               lastFile.getAbsolutePath(), originalLogFiles.get(0).getAbsolutePath(), entry.getKey());
             getInputFile().stopChildInputFileThread(entry.getKey());
             getInputFile().startNewChildInputFileThread(entry);
           }
         }
       } else {
-        LOG.info("New log file folder found: {}, start a new thread if tail file is not too old.", entry.getKey());
+        logger.info("New log file folder found: {}, start a new thread if tail file is not too old.", entry.getKey());
         File monitoredFile = entry.getValue().get(0);
         if (FileUtil.isFileTooOld(monitoredFile, getDetachTime())) {
-          LOG.info("'{}' file is too old. No new thread start needed.", monitoredFile.getAbsolutePath());
+          logger.info("'{}' file is too old. No new thread start needed.", monitoredFile.getAbsolutePath());
         } else {
           getInputFile().startNewChildInputFileThread(entry);
         }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/reader/GZIPReader.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/reader/GZIPReader.java
index 7f78fd1..4f5b516 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/reader/GZIPReader.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/reader/GZIPReader.java
@@ -18,7 +18,8 @@
  */
 package org.apache.ambari.logfeeder.input.reader;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -29,11 +30,11 @@ import java.util.zip.GZIPInputStream;
 
 class GZIPReader extends InputStreamReader {
 
-  private static final Logger LOG = Logger.getLogger(GZIPReader.class);
+  private static final Logger logger = LogManager.getLogger(GZIPReader.class);
 
   GZIPReader(String fileName) throws FileNotFoundException {
     super(getStream(fileName));
-    LOG.info("Created GZIPReader for file : " + fileName);
+    logger.info("Created GZIPReader for file : " + fileName);
   }
 
   private static InputStream getStream(String fileName) {
@@ -43,7 +44,7 @@ class GZIPReader extends InputStreamReader {
       fileStream = new FileInputStream(fileName);
       gzipStream = new GZIPInputStream(fileStream);
     } catch (Exception e) {
-      LOG.error(e, e.getCause());
+      logger.error(e, e.getCause());
     }
     return gzipStream;
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/reader/LogsearchReaderFactory.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/reader/LogsearchReaderFactory.java
index b9393aa..c5453df 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/reader/LogsearchReaderFactory.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/reader/LogsearchReaderFactory.java
@@ -18,7 +18,8 @@
  */
 package org.apache.ambari.logfeeder.input.reader;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -27,12 +28,12 @@ import java.io.Reader;
 
 public enum LogsearchReaderFactory {
   INSTANCE;
-  private static final Logger LOG = Logger.getLogger(LogsearchReaderFactory.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchReaderFactory.class);
 
   public Reader getReader(File file) throws FileNotFoundException {
-    LOG.debug("Inside reader factory for file:" + file);
+    logger.debug("Inside reader factory for file:" + file);
     if (GZIPReader.isValidFile(file.getAbsolutePath())) {
-      LOG.info("Reading file " + file + " as gzip file");
+      logger.info("Reading file " + file + " as gzip file");
       return new GZIPReader(file.getAbsolutePath());
     } else {
       return new FileReader(file);
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/loglevelfilter/LogLevelFilterHandler.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/loglevelfilter/LogLevelFilterHandler.java
index ab35f03..3b9f421 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/loglevelfilter/LogLevelFilterHandler.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/loglevelfilter/LogLevelFilterHandler.java
@@ -34,8 +34,8 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.recipes.cache.TreeCache;
 import org.apache.curator.framework.recipes.cache.TreeCacheListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
@@ -49,7 +49,7 @@ import java.util.TreeMap;
 import java.util.concurrent.ConcurrentHashMap;
 
 public class LogLevelFilterHandler implements LogLevelFilterMonitor {
-  private static final Logger LOG = LoggerFactory.getLogger(LogLevelFilterHandler.class);
+  private static final Logger logger = LogManager.getLogger(LogLevelFilterHandler.class);
 
   private static final String TIMEZONE = "GMT";
   private static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS";
@@ -143,7 +143,7 @@ public class LogLevelFilterHandler implements LogLevelFilterMonitor {
 
     boolean isAllowed = applyFilter(jsonObj, defaultLogLevels);
     if (!isAllowed) {
-      LOG.trace("Filter block the content :" + LogFeederUtil.getGson().toJson(jsonObj));
+      logger.trace("Filter block the content :" + LogFeederUtil.getGson().toJson(jsonObj));
     }
     return isAllowed;
   }
@@ -151,7 +151,7 @@ public class LogLevelFilterHandler implements LogLevelFilterMonitor {
 
   public boolean applyFilter(Map<String, Object> jsonObj, List<String> defaultLogLevels) {
     if (MapUtils.isEmpty(jsonObj)) {
-      LOG.warn("Output jsonobj is empty");
+      logger.warn("Output jsonobj is empty");
       return DEFAULT_VALUE;
     }
 
@@ -171,7 +171,7 @@ public class LogLevelFilterHandler implements LogLevelFilterMonitor {
       return logFilter;
     }
 
-    LOG.info("Filter is not present for log " + logId + ", creating default filter");
+    logger.info("Filter is not present for log " + logId + ", creating default filter");
     LogLevelFilter defaultFilter = new LogLevelFilter();
     defaultFilter.setLabel(logId);
     defaultFilter.setDefaultLevels(defaultLogLevels);
@@ -180,7 +180,7 @@ public class LogLevelFilterHandler implements LogLevelFilterMonitor {
       config.getLogLevelFilterManager().createLogLevelFilter(logFeederProps.getClusterName(), logId, defaultFilter);
       filters.put(logId, defaultFilter);
     } catch (Exception e) {
-      LOG.warn("Could not persist the default filter for log " + logId, e);
+      logger.warn("Could not persist the default filter for log " + logId, e);
     }
 
     return defaultFilter;
@@ -201,7 +201,7 @@ public class LogLevelFilterHandler implements LogLevelFilterMonitor {
 
       if (hosts.isEmpty() || hosts.contains(hostName)) {
         if (isFilterExpired(componentFilter)) {
-          LOG.debug("Filter for component " + componentName + " and host :" + hostName + " is expired at " +
+          logger.debug("Filter for component " + componentName + " and host :" + hostName + " is expired at " +
             componentFilter.getExpiryTime());
           return defaultLevels;
         } else {
@@ -223,7 +223,7 @@ public class LogLevelFilterHandler implements LogLevelFilterMonitor {
 
     Date currentDate = new Date();
     if (!currentDate.before(filterEndDate)) {
-      LOG.debug("Filter for  Component :" + logLevelFilter.getLabel() + " and Hosts : [" +
+      logger.debug("Filter for  Component :" + logLevelFilter.getLabel() + " and Hosts : [" +
         StringUtils.join(logLevelFilter.getHosts(), ',') + "] is expired because of filter endTime : " +
         formatter.get().format(filterEndDate) + " is older than currentTime :" + formatter.get().format(currentDate));
       return true;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperAnonymize.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperAnonymize.java
index 8c0fc72..652917f 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperAnonymize.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperAnonymize.java
@@ -27,13 +27,14 @@ import org.apache.ambari.logsearch.config.api.model.inputconfig.MapAnonymizeDesc
 import org.apache.ambari.logsearch.config.api.model.inputconfig.MapFieldDescriptor;
 import org.apache.commons.lang.CharUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Map;
 
 public class MapperAnonymize extends Mapper<LogFeederProps> {
-  private static final Logger LOG = Logger.getLogger(MapperAnonymize.class);
+  private static final Logger logger = LogManager.getLogger(MapperAnonymize.class);
   
   private static final char DEFAULT_HIDE_CHAR = '*';
 
@@ -47,7 +48,7 @@ public class MapperAnonymize extends Mapper<LogFeederProps> {
     
     pattern = ((MapAnonymizeDescriptor)mapFieldDescriptor).getPattern();
     if (StringUtils.isEmpty(pattern)) {
-      LOG.fatal("pattern is empty.");
+      logger.fatal("pattern is empty.");
       return false;
     }
     
@@ -64,7 +65,7 @@ public class MapperAnonymize extends Mapper<LogFeederProps> {
         hide((String)value, jsonObj);
       } catch (Throwable t) {
         LogFeederUtil.logErrorMessageByInterval(this.getClass().getSimpleName() + ":apply", "Error applying anonymization." +
-            " pattern=" + pattern + ", hideChar=" + hideChar, t, LOG, Level.ERROR);
+            " pattern=" + pattern + ", hideChar=" + hideChar, t, logger, Level.ERROR);
       }
     }
     return value;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperDate.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperDate.java
index 150869b..14ecc33 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperDate.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperDate.java
@@ -28,8 +28,9 @@ import org.apache.ambari.logsearch.config.api.model.inputconfig.MapFieldDescript
 import org.apache.commons.lang.time.DateUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.FastDateFormat;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.text.ParseException;
 import java.util.Calendar;
@@ -37,7 +38,7 @@ import java.util.Date;
 import java.util.Map;
 
 public class MapperDate extends Mapper<LogFeederProps> {
-  private static final Logger LOG = Logger.getLogger(MapperDate.class);
+  private static final Logger logger = LogManager.getLogger(MapperDate.class);
 
   private FastDateFormat targetDateFormatter = null;
   private boolean isEpoch = false;
@@ -50,9 +51,9 @@ public class MapperDate extends Mapper<LogFeederProps> {
     String targetDateFormat = ((MapDateDescriptor)mapFieldDescriptor).getTargetDatePattern();
     String srcDateFormat = ((MapDateDescriptor)mapFieldDescriptor).getSourceDatePattern();
     if (StringUtils.isEmpty(targetDateFormat)) {
-      LOG.fatal("Date format for map is empty. " + this);
+      logger.fatal("Date format for map is empty. " + this);
     } else {
-      LOG.info("Date mapper format is " + targetDateFormat);
+      logger.info("Date mapper format is " + targetDateFormat);
 
       if (targetDateFormat.equalsIgnoreCase("epoch")) {
         isEpoch = true;
@@ -65,7 +66,7 @@ public class MapperDate extends Mapper<LogFeederProps> {
           }
           return true;
         } catch (Throwable ex) {
-          LOG.fatal("Error creating date format. format=" + targetDateFormat + ". " + this.toString());
+          logger.fatal("Error creating date format. format=" + targetDateFormat + ". " + this.toString());
         }
       } 
     }
@@ -96,7 +97,7 @@ public class MapperDate extends Mapper<LogFeederProps> {
       } catch (Throwable t) {
         LogFeederUtil.logErrorMessageByInterval(this.getClass().getSimpleName() + ":apply", "Error applying date transformation." +
             " isEpoch=" + isEpoch + ", targetDateFormat=" + (targetDateFormatter!=null ?targetDateFormatter.getPattern():"")
-            + ", value=" + value + ". " + this.toString(), t, LOG, Level.ERROR);
+            + ", value=" + value + ". " + this.toString(), t, logger, Level.ERROR);
       }
     }
     return value;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldCopy.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldCopy.java
index bbb6337..ca164d5 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldCopy.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldCopy.java
@@ -24,7 +24,8 @@ import org.apache.ambari.logfeeder.plugin.filter.mapper.Mapper;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.MapFieldCopyDescriptor;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.MapFieldDescriptor;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Map;
 
@@ -32,7 +33,7 @@ import java.util.Map;
  * Overrides the value for the field
  */
 public class MapperFieldCopy extends Mapper<LogFeederProps> {
-  private static final Logger LOG = Logger.getLogger(MapperFieldCopy.class);
+  private static final Logger logger = LogManager.getLogger(MapperFieldCopy.class);
   
   private String copyName = null;
 
@@ -41,7 +42,7 @@ public class MapperFieldCopy extends Mapper<LogFeederProps> {
     init(inputDesc, fieldName, mapClassCode);
     copyName = ((MapFieldCopyDescriptor)mapFieldDescriptor).getCopyName();
     if (StringUtils.isEmpty(copyName)) {
-      LOG.fatal("Map copy name is empty.");
+      logger.fatal("Map copy name is empty.");
       return false;
     }
     return true;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldName.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldName.java
index 2b1f70f..dce4e7c 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldName.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldName.java
@@ -25,8 +25,9 @@ import org.apache.ambari.logfeeder.util.LogFeederUtil;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.MapFieldDescriptor;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.MapFieldNameDescriptor;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Map;
 
@@ -34,7 +35,7 @@ import java.util.Map;
  * Overrides the value for the field
  */
 public class MapperFieldName extends Mapper<LogFeederProps> {
-  private static final Logger LOG = Logger.getLogger(MapperFieldName.class);
+  private static final Logger logger = LogManager.getLogger(MapperFieldName.class);
 
   private String newValue = null;
 
@@ -44,7 +45,7 @@ public class MapperFieldName extends Mapper<LogFeederProps> {
 
     newValue = ((MapFieldNameDescriptor)mapFieldDescriptor).getNewFieldName();
     if (StringUtils.isEmpty(newValue)) {
-      LOG.fatal("Map field value is empty.");
+      logger.fatal("Map field value is empty.");
       return false;
     }
     return true;
@@ -57,7 +58,7 @@ public class MapperFieldName extends Mapper<LogFeederProps> {
       jsonObj.put(newValue, value);
     } else {
       LogFeederUtil.logErrorMessageByInterval(this.getClass().getSimpleName() + ":apply",
-          "New fieldName is null, so transformation is not applied. " + this.toString(), null, LOG, Level.ERROR);
+          "New fieldName is null, so transformation is not applied. " + this.toString(), null, logger, Level.ERROR);
     }
     return value;
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldValue.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldValue.java
index e3d4924..3c2fc06 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldValue.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/MapperFieldValue.java
@@ -25,8 +25,9 @@ import org.apache.ambari.logfeeder.util.LogFeederUtil;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.MapFieldDescriptor;
 import org.apache.ambari.logsearch.config.api.model.inputconfig.MapFieldValueDescriptor;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Map;
 
@@ -34,7 +35,7 @@ import java.util.Map;
  * Overrides the value for the field
  */
 public class MapperFieldValue extends Mapper<LogFeederProps> {
-  private static final Logger LOG = Logger.getLogger(MapperFieldValue.class);
+  private static final Logger logger = LogManager.getLogger(MapperFieldValue.class);
   
   private String prevValue = null;
   private String newValue = null;
@@ -46,7 +47,7 @@ public class MapperFieldValue extends Mapper<LogFeederProps> {
     prevValue = ((MapFieldValueDescriptor)mapFieldDescriptor).getPreValue();
     newValue = ((MapFieldValueDescriptor)mapFieldDescriptor).getPostValue();;
     if (StringUtils.isEmpty(newValue)) {
-      LOG.fatal("Map field value is empty.");
+      logger.fatal("Map field value is empty.");
       return false;
     }
     return true;
@@ -61,7 +62,7 @@ public class MapperFieldValue extends Mapper<LogFeederProps> {
       }
     } else {
       LogFeederUtil.logErrorMessageByInterval(this.getClass().getSimpleName() + ":apply",
-          "New value is null, so transformation is not applied. " + this.toString(), null, LOG, Level.ERROR);
+          "New value is null, so transformation is not applied. " + this.toString(), null, logger, Level.ERROR);
     }
     return value;
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/LogFeederAMSClient.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/LogFeederAMSClient.java
index 0ccdff3..95ea665 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/LogFeederAMSClient.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/LogFeederAMSClient.java
@@ -24,14 +24,15 @@ import org.apache.ambari.logfeeder.conf.MetricsCollectorConfig;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetrics;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Collection;
 import java.util.List;
 
 // TODO: Refactor for failover
 public class LogFeederAMSClient extends AbstractTimelineMetricsSink {
-  private static final Logger LOG = Logger.getLogger(LogFeederAMSClient.class);
+  private static final Logger logger = LogManager.getLogger(LogFeederAMSClient.class);
 
   private final List<String> collectorHosts;
   private final String collectorProtocol;
@@ -42,7 +43,7 @@ public class LogFeederAMSClient extends AbstractTimelineMetricsSink {
     String collectorHostsString = metricsCollectorConfig.getHostsString();
     if (!StringUtils.isBlank(collectorHostsString)) {
       collectorHostsString = collectorHostsString.trim();
-      LOG.info("AMS collector Hosts=" + collectorHostsString);
+      logger.info("AMS collector Hosts=" + collectorHostsString);
       
       collectorHosts = metricsCollectorConfig.getHosts();
       collectorProtocol = metricsCollectorConfig.getProtocol();
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/MetricsManager.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/MetricsManager.java
index f5bc0eb..55e06fd 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/MetricsManager.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/MetricsManager.java
@@ -30,13 +30,14 @@ import org.apache.ambari.logfeeder.plugin.common.MetricData;
 import org.apache.ambari.logfeeder.util.LogFeederUtil;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetrics;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
 public class MetricsManager {
-  private static final Logger LOG = Logger.getLogger(MetricsManager.class);
+  private static final Logger logger = LogManager.getLogger(MetricsManager.class);
 
   private boolean isMetricsEnabled = false;
   private String appId = "logfeeder";
@@ -57,7 +58,7 @@ public class MetricsManager {
 
   @PostConstruct
   public void init() {
-    LOG.info("Initializing MetricsManager()");
+    logger.info("Initializing MetricsManager()");
     if (amsClient == null) {
       amsClient = new LogFeederAMSClient(metricsCollectorConfig, logFeederSecurityConfig);
     }
@@ -65,13 +66,13 @@ public class MetricsManager {
     if (amsClient.getCollectorUri(null) != null) {
       if (LogFeederUtil.hostName == null) {
         isMetricsEnabled = false;
-        LOG.error("Failed getting hostname for node. Disabling publishing LogFeeder metrics");
+        logger.error("Failed getting hostname for node. Disabling publishing LogFeeder metrics");
       } else {
         isMetricsEnabled = true;
-        LOG.info("LogFeeder Metrics is enabled. Metrics host=" + amsClient.getCollectorUri(null));
+        logger.info("LogFeeder Metrics is enabled. Metrics host=" + amsClient.getCollectorUri(null));
       }
     } else {
-      LOG.info("LogFeeder Metrics publish is disabled");
+      logger.info("LogFeeder Metrics publish is disabled");
     }
   }
 
@@ -83,7 +84,7 @@ public class MetricsManager {
     if (!isMetricsEnabled) {
       return;
     }
-    LOG.info("useMetrics() metrics.size=" + metricsList.size());
+    logger.info("useMetrics() metrics.size=" + metricsList.size());
     long currMS = System.currentTimeMillis();
     
     gatherMetrics(metricsList, currMS);
@@ -94,21 +95,21 @@ public class MetricsManager {
     Long currMSLong = new Long(currMS);
     for (MetricData metric : metricsList) {
       if (metric.metricsName == null) {
-        LOG.debug("metric.metricsName is null");
+        logger.debug("metric.metricsName is null");
         continue;
       }
       long currCount = metric.value;
       if (!metric.isPointInTime && metric.publishCount > 0 && currCount <= metric.prevPublishValue) {
-        LOG.debug("Nothing changed. " + metric.metricsName + ", currCount=" + currCount + ", prevPublishCount=" +
+        logger.debug("Nothing changed. " + metric.metricsName + ", currCount=" + currCount + ", prevPublishCount=" +
             metric.prevPublishValue);
         continue;
       }
       metric.publishCount++;
 
-      LOG.debug("Ensuring metrics=" + metric.metricsName);
+      logger.debug("Ensuring metrics=" + metric.metricsName);
       TimelineMetric timelineMetric = metricsMap.get(metric.metricsName);
       if (timelineMetric == null) {
-        LOG.debug("Creating new metric obbject for " + metric.metricsName);
+        logger.debug("Creating new metric obbject for " + metric.metricsName);
         timelineMetric = new TimelineMetric();
         timelineMetric.setMetricName(metric.metricsName);
         timelineMetric.setHostName(LogFeederUtil.hostName);
@@ -120,7 +121,7 @@ public class MetricsManager {
         metricsMap.put(metric.metricsName, timelineMetric);
       }
       
-      LOG.debug("Adding metrics=" + metric.metricsName);
+      logger.debug("Adding metrics=" + metric.metricsName);
       if (metric.isPointInTime) {
         timelineMetric.getMetricValues().put(currMSLong, new Double(currCount));
       } else {
@@ -142,20 +143,20 @@ public class MetricsManager {
         timelineMetrics.setMetrics(new ArrayList<TimelineMetric>(metricsMap.values()));
         amsClient.emitMetrics(timelineMetrics);
         
-        LOG.info("Published " + timelineMetrics.getMetrics().size() + " metrics to AMS");
+        logger.info("Published " + timelineMetrics.getMetrics().size() + " metrics to AMS");
         metricsMap.clear();
         lastPublishTimeMS = currMS;
       } catch (Throwable t) {
-        LOG.warn("Error sending metrics to AMS.", t);
+        logger.warn("Error sending metrics to AMS.", t);
         if (currMS - lastFailedPublishTimeMS > maxMetricsBuffer) {
-          LOG.error("AMS was not sent for last " + maxMetricsBuffer / 1000 +
+          logger.error("AMS was not sent for last " + maxMetricsBuffer / 1000 +
               " seconds. Purging it and will start rebuilding it again");
           metricsMap.clear();
           lastFailedPublishTimeMS = currMS;
         }
       }
     } else {
-      LOG.info("Not publishing metrics. metrics.size()=" + metricsMap.size() + ", lastPublished=" +
+      logger.info("Not publishing metrics. metrics.size()=" + metricsMap.size() + ", lastPublished=" +
           (currMS - lastPublishTimeMS) / 1000 + " seconds ago, intervalConfigured=" + publishIntervalMS / 1000);
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/StatsLogger.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/StatsLogger.java
index 91de1d8..e72fd43 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/StatsLogger.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/StatsLogger.java
@@ -20,8 +20,8 @@ package org.apache.ambari.logfeeder.metrics;
 
 import org.apache.ambari.logfeeder.common.ConfigHandler;
 import org.apache.ambari.logfeeder.plugin.common.MetricData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
@@ -30,7 +30,7 @@ import java.util.List;
 
 public class StatsLogger extends Thread {
 
-  private static final Logger LOG = LoggerFactory.getLogger(StatsLogger.class);
+  private static final Logger logger = LogManager.getLogger(StatsLogger.class);
 
   private static final int CHECKPOINT_CLEAN_INTERVAL_MS = 24 * 60 * 60 * 60 * 1000; // 24 hours
 
@@ -63,7 +63,7 @@ public class StatsLogger extends Thread {
       try {
         logStats();
       } catch (Throwable t) {
-        LOG.error("LogStats: Caught exception while logging stats.", t);
+        logger.error("LogStats: Caught exception while logging stats.", t);
       }
 
       if (System.currentTimeMillis() > (lastCheckPointCleanedMS + CHECKPOINT_CLEAN_INTERVAL_MS)) {
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputDevNull.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputDevNull.java
index 2113cbd..032bde4 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputDevNull.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputDevNull.java
@@ -21,7 +21,8 @@ package org.apache.ambari.logfeeder.output;
 import org.apache.ambari.logfeeder.conf.LogFeederProps;
 import org.apache.ambari.logfeeder.plugin.input.InputMarker;
 import org.apache.ambari.logfeeder.plugin.output.Output;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 
@@ -30,11 +31,11 @@ import java.io.File;
  */
 public class OutputDevNull extends Output<LogFeederProps, InputMarker> {
 
-  private static final Logger LOG = Logger.getLogger(OutputDevNull.class);
+  private static final Logger logger = LogManager.getLogger(OutputDevNull.class);
 
   @Override
   public void write(String block, InputMarker inputMarker){
-    LOG.trace("Ignore log block: " + block);
+    logger.trace("Ignore log block: " + block);
   }
 
   @Override
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputFile.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputFile.java
index 850daaf..910d4d6 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputFile.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputFile.java
@@ -27,7 +27,8 @@ import org.apache.ambari.logfeeder.util.LogFeederUtil;
 import org.apache.commons.csv.CSVFormat;
 import org.apache.commons.csv.CSVPrinter;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.BufferedWriter;
 import java.io.File;
@@ -37,7 +38,7 @@ import java.io.PrintWriter;
 import java.util.Map;
 
 public class OutputFile extends Output<LogFeederProps, InputFileMarker> {
-  private static final Logger LOG = Logger.getLogger(OutputFile.class);
+  private static final Logger logger = LogManager.getLogger(OutputFile.class);
 
   private PrintWriter outWriter;
   private String filePath = null;
@@ -49,7 +50,7 @@ public class OutputFile extends Output<LogFeederProps, InputFileMarker> {
     this.logFeederProps = logFeederProps;
     filePath = getStringValue("path");
     if (StringUtils.isEmpty(filePath)) {
-      LOG.error("Filepath config property <path> is not set in config file.");
+      logger.error("Filepath config property <path> is not set in config file.");
       return;
     }
     codec = getStringValue("codec");
@@ -61,11 +62,11 @@ public class OutputFile extends Output<LogFeederProps, InputFileMarker> {
       } else if (codec.trim().equalsIgnoreCase("json")) {
         codec = "csv";
       } else {
-        LOG.error("Unsupported codec type. codec=" + codec + ", will use json");
+        logger.error("Unsupported codec type. codec=" + codec + ", will use json");
         codec = "json";
       }
     }
-    LOG.info("Out filePath=" + filePath + ", codec=" + codec);
+    logger.info("Out filePath=" + filePath + ", codec=" + codec);
     File outFile = new File(filePath);
     if (outFile.getParentFile() != null) {
       File parentDir = outFile.getParentFile();
@@ -76,12 +77,12 @@ public class OutputFile extends Output<LogFeederProps, InputFileMarker> {
 
     outWriter = new PrintWriter(new BufferedWriter(new FileWriter(outFile, true)));
 
-    LOG.info("init() is successfull. filePath=" + outFile.getAbsolutePath());
+    logger.info("init() is successfull. filePath=" + outFile.getAbsolutePath());
   }
 
   @Override
   public void close() {
-    LOG.info("Closing file." + getShortDescription());
+    logger.info("Closing file." + getShortDescription());
     if (outWriter != null) {
       try {
         outWriter.close();
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputHDFSFile.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputHDFSFile.java
index 03669fe..13bb772 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputHDFSFile.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputHDFSFile.java
@@ -32,7 +32,8 @@ import org.apache.ambari.logfeeder.util.LogFeederUtil;
 import org.apache.ambari.logfeeder.util.PlaceholderUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.fs.FileSystem;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.util.Date;
@@ -46,7 +47,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
  * The events are spooled on the local file system and uploaded in batches asynchronously.
  */
 public class OutputHDFSFile extends Output<LogFeederProps, InputFileMarker> implements RolloverHandler, RolloverCondition {
-  private static final Logger LOG = Logger.getLogger(OutputHDFSFile.class);
+  private static final Logger logger = LogManager.getLogger(OutputHDFSFile.class);
   
   private static final long DEFAULT_ROLLOVER_THRESHOLD_TIME_SECONDS = 5 * 60L;// 5 min by default
 
@@ -78,20 +79,20 @@ public class OutputHDFSFile extends Output<LogFeederProps, InputFileMarker> impl
     rolloverThresholdTimeMillis = rolloverThresholdTimeSeconds * 1000L;
     filenamePrefix = getStringValue("file_name_prefix", filenamePrefix);
     if (StringUtils.isEmpty(hdfsOutDir)) {
-      LOG.error("HDFS config property <hdfs_out_dir> is not set in config file.");
+      logger.error("HDFS config property <hdfs_out_dir> is not set in config file.");
       return;
     }
     if (StringUtils.isEmpty(hdfsHost)) {
-      LOG.error("HDFS config property <hdfs_host> is not set in config file.");
+      logger.error("HDFS config property <hdfs_host> is not set in config file.");
       return;
     }
     if (StringUtils.isEmpty(hdfsPort)) {
-      LOG.error("HDFS config property <hdfs_port> is not set in config file.");
+      logger.error("HDFS config property <hdfs_port> is not set in config file.");
       return;
     }
     HashMap<String, String> contextParam = buildContextParam();
     hdfsOutDir = PlaceholderUtil.replaceVariables(hdfsOutDir, contextParam);
-    LOG.info("hdfs Output dir=" + hdfsOutDir);
+    logger.info("hdfs Output dir=" + hdfsOutDir);
     String localFileDir = logFeederProps.getTmpDir() + "hdfs/service/";
     logSpooler = new LogSpooler(localFileDir, filenamePrefix, this, this);
     this.startHDFSCopyThread();
@@ -99,7 +100,7 @@ public class OutputHDFSFile extends Output<LogFeederProps, InputFileMarker> impl
 
   @Override
   public void close() {
-    LOG.info("Closing file." + getShortDescription());
+    logger.info("Closing file." + getShortDescription());
     logSpooler.rollover();
     this.stopHDFSCopyThread();
     setClosed(true);
@@ -138,10 +139,10 @@ public class OutputHDFSFile extends Output<LogFeederProps, InputFileMarker> impl
                 boolean isCopied = LogFeederHDFSUtil.copyFromLocal(localFile.getAbsolutePath(), destFilePath, fileSystem,
                     overWrite, delSrc);
                 if (isCopied) {
-                  LOG.debug("File copy to hdfs hdfspath :" + destFilePath + " and deleted local file :" + localPath);
+                  logger.debug("File copy to hdfs hdfspath :" + destFilePath + " and deleted local file :" + localPath);
                 } else {
                   // TODO Need to write retry logic, in next release we can handle it
-                  LOG.error("Hdfs file copy  failed for hdfspath :" + destFilePath + " and localpath :" + localPath);
+                  logger.error("Hdfs file copy  failed for hdfspath :" + destFilePath + " and localpath :" + localPath);
                 }
               }
               localFileIterator.remove();
@@ -154,11 +155,11 @@ public class OutputHDFSFile extends Output<LogFeederProps, InputFileMarker> impl
                 }
               }
             } catch (InterruptedException e) {
-              LOG.error(e.getLocalizedMessage(),e);
+              logger.error(e.getLocalizedMessage(),e);
             }
           }
         } catch (Exception e) {
-          LOG.error("Exception in hdfsCopyThread errorMsg:" + e.getLocalizedMessage(), e);
+          logger.error("Exception in hdfsCopyThread errorMsg:" + e.getLocalizedMessage(), e);
         }
       }
     };
@@ -168,20 +169,20 @@ public class OutputHDFSFile extends Output<LogFeederProps, InputFileMarker> impl
 
   private void stopHDFSCopyThread() {
     if (hdfsCopyThread != null) {
-      LOG.info("waiting till copy all local files to hdfs.......");
+      logger.info("waiting till copy all local files to hdfs.......");
       while (!localReadyFiles.isEmpty()) {
         try {
           Thread.sleep(1000);
         } catch (InterruptedException e) {
-          LOG.error(e.getLocalizedMessage(), e);
+          logger.error(e.getLocalizedMessage(), e);
         }
-        LOG.debug("still waiting to copy all local files to hdfs.......");
+        logger.debug("still waiting to copy all local files to hdfs.......");
       }
-      LOG.info("calling interrupt method for hdfsCopyThread to stop it.");
+      logger.info("calling interrupt method for hdfsCopyThread to stop it.");
       try {
         hdfsCopyThread.interrupt();
       } catch (SecurityException exception) {
-        LOG.error(" Current thread : '" + Thread.currentThread().getName() +
+        logger.error(" Current thread : '" + Thread.currentThread().getName() +
             "' does not have permission to interrupt the Thread: '" + hdfsCopyThread.getName() + "'");
       }
       LogFeederHDFSUtil.closeFileSystem(fileSystem);
@@ -201,7 +202,7 @@ public class OutputHDFSFile extends Output<LogFeederProps, InputFileMarker> impl
         readyMonitor.notifyAll();
       }
     } catch (Exception e) {
-      LOG.error(e.getLocalizedMessage(),e);
+      logger.error(e.getLocalizedMessage(),e);
     }
   }
 
@@ -233,7 +234,7 @@ public class OutputHDFSFile extends Output<LogFeederProps, InputFileMarker> impl
     long timeSinceCreation = new Date().getTime() - currentSpoolerContext.getActiveLogCreationTime().getTime();
     boolean shouldRollover = timeSinceCreation > rolloverThresholdTimeMillis;
     if (shouldRollover) {
-      LOG.info("Detecting that time since file creation time " + currentSpoolerContext.getActiveLogCreationTime() +
+      logger.info("Detecting that time since file creation time " + currentSpoolerContext.getActiveLogCreationTime() +
           " has crossed threshold (msecs) " + rolloverThresholdTimeMillis);
     }
     return shouldRollover;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputKafka.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputKafka.java
index a82ede0..3073211 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputKafka.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputKafka.java
@@ -30,8 +30,9 @@ import org.apache.kafka.clients.producer.KafkaProducer;
 import org.apache.kafka.clients.producer.ProducerRecord;
 import org.apache.kafka.clients.producer.RecordMetadata;
 import org.apache.kafka.common.serialization.StringSerializer;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.util.Properties;
@@ -40,7 +41,7 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.LinkedTransferQueue;
 
 public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
-  private static final Logger LOG = Logger.getLogger(OutputKafka.class);
+  private static final Logger logger = LogManager.getLogger(OutputKafka.class);
 
   private static final int FAILED_RETRY_INTERVAL = 30;
   private static final int CATCHUP_RETRY_INTERVAL = 5;
@@ -110,7 +111,7 @@ public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
           continue;
         }
         String kafkaKey = key.substring("kafka.".length());
-        LOG.info("Adding custom Kafka property. " + kafkaKey + "=" + value);
+        logger.info("Adding custom Kafka property. " + kafkaKey + "=" + value);
         props.put(kafkaKey, value);
       }
     }
@@ -127,7 +128,7 @@ public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
       @Override
       public void run() {
         KafkaCallBack kafkaCallBack = null;
-        LOG.info("Started thread to monitor failed messsages. " + getShortDescription());
+        logger.info("Started thread to monitor failed messsages. " + getShortDescription());
         while (true) {
           try {
             if (kafkaCallBack == null) {
@@ -136,7 +137,7 @@ public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
             if (publishMessage(kafkaCallBack.message, kafkaCallBack.inputMarker)) {
               kafkaCallBack = null;
             } else {
-              LOG.error("Kafka is down. messageNumber=" + kafkaCallBack.thisMessageNumber + ". Going to sleep for " +
+              logger.error("Kafka is down. messageNumber=" + kafkaCallBack.thisMessageNumber + ". Going to sleep for " +
                   FAILED_RETRY_INTERVAL + " seconds");
               Thread.sleep(FAILED_RETRY_INTERVAL * 1000);
             }
@@ -144,7 +145,7 @@ public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
           } catch (Throwable t) {
             String logMessageKey = this.getClass().getSimpleName() + "_KAFKA_RETRY_WRITE_ERROR";
             LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Error sending message to Kafka during retry. message=" +
-                (kafkaCallBack == null ? null : kafkaCallBack.message), t, LOG, Level.ERROR);
+                (kafkaCallBack == null ? null : kafkaCallBack.message), t, logger, Level.ERROR);
           }
         }
 
@@ -167,10 +168,10 @@ public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
           break;
         }
         if (!isKafkaBrokerUp) {
-          LOG.error("Kafka is down. Going to sleep for " + FAILED_RETRY_INTERVAL + " seconds");
+          logger.error("Kafka is down. Going to sleep for " + FAILED_RETRY_INTERVAL + " seconds");
           Thread.sleep(FAILED_RETRY_INTERVAL * 1000);
         } else {
-          LOG.warn("Kafka is still catching up from previous failed messages. outstanding messages=" + failedMessages.size() +
+          logger.warn("Kafka is still catching up from previous failed messages. outstanding messages=" + failedMessages.size() +
               " Going to sleep for " + CATCHUP_RETRY_INTERVAL + " seconds");
           Thread.sleep(CATCHUP_RETRY_INTERVAL * 1000);
         }
@@ -187,22 +188,22 @@ public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
   }
 
   public void flush() {
-    LOG.info("Flush called...");
+    logger.info("Flush called...");
     setDrain(true);
   }
 
   @Override
   public void close() {
-    LOG.info("Closing Kafka client...");
+    logger.info("Closing Kafka client...");
     flush();
     if (producer != null) {
       try {
         producer.close();
       } catch (Throwable t) {
-        LOG.error("Error closing Kafka topic. topic=" + topic);
+        logger.error("Error closing Kafka topic. topic=" + topic);
       }
     }
-    LOG.info("Closed Kafka client");
+    logger.info("Closed Kafka client");
     super.close();
   }
 
@@ -219,24 +220,24 @@ public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
           writeBytesMetric.value += block.length();
         }
         if (!isKafkaBrokerUp) {
-          LOG.info("Started writing to kafka. " + getShortDescription());
+          logger.info("Started writing to kafka. " + getShortDescription());
           isKafkaBrokerUp = true;
         }
         return true;
       } catch (InterruptedException e) {
         isKafkaBrokerUp = false;
         String logKeyMessage = this.getClass().getSimpleName() + "_KAFKA_INTERRUPT";
-        LogFeederUtil.logErrorMessageByInterval(logKeyMessage, "InterruptedException-Error sending message to Kafka", e, LOG,
+        LogFeederUtil.logErrorMessageByInterval(logKeyMessage, "InterruptedException-Error sending message to Kafka", e, logger,
             Level.ERROR);
       } catch (ExecutionException e) {
         isKafkaBrokerUp = false;
         String logKeyMessage = this.getClass().getSimpleName() + "_KAFKA_EXECUTION";
-        LogFeederUtil.logErrorMessageByInterval(logKeyMessage, "ExecutionException-Error sending message to Kafka", e, LOG,
+        LogFeederUtil.logErrorMessageByInterval(logKeyMessage, "ExecutionException-Error sending message to Kafka", e, logger,
             Level.ERROR);
       } catch (Throwable t) {
         isKafkaBrokerUp = false;
         String logKeyMessage = this.getClass().getSimpleName() + "_KAFKA_WRITE_ERROR";
-        LogFeederUtil.logErrorMessageByInterval(logKeyMessage, "GenericException-Error sending message to Kafka", t, LOG,
+        LogFeederUtil.logErrorMessageByInterval(logKeyMessage, "GenericException-Error sending message to Kafka", t, logger,
             Level.ERROR);
       }
     }
@@ -265,7 +266,7 @@ public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
     public void onCompletion(RecordMetadata metadata, Exception exception) {
       if (metadata != null) {
         if (!output.isKafkaBrokerUp) {
-          LOG.info("Started writing to kafka. " + output.getShortDescription());
+          logger.info("Started writing to kafka. " + output.getShortDescription());
           output.isKafkaBrokerUp = true;
         }
         output.incrementStat(1);
@@ -273,7 +274,7 @@ public class OutputKafka extends Output<LogFeederProps, InputFileMarker> {
       } else {
         output.isKafkaBrokerUp = false;
         String logKeyMessage = this.getClass().getSimpleName() + "_KAFKA_ASYNC_ERROR";
-        LogFeederUtil.logErrorMessageByInterval(logKeyMessage, "Error sending message to Kafka. Async Callback", exception, LOG,
+        LogFeederUtil.logErrorMessageByInterval(logKeyMessage, "Error sending message to Kafka. Async Callback", exception, logger,
             Level.ERROR);
 
         output.failedMessages.add(this);
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputLineFilter.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputLineFilter.java
index 04600a3..f10cb9b 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputLineFilter.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputLineFilter.java
@@ -21,18 +21,17 @@ package org.apache.ambari.logfeeder.output;
 import org.apache.ambari.logfeeder.common.LogFeederConstants;
 import org.apache.ambari.logfeeder.plugin.input.cache.LRUCache;
 import org.apache.ambari.logfeeder.plugin.input.Input;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Map;
 
-
 /**
  * Filter for outputs based on input configs, which can drop lines if the filter applies.
  */
 public class OutputLineFilter {
 
-  private static final Logger LOG = LoggerFactory.getLogger(OutputLineFilter.class);
+  private static final Logger logger = LogManager.getLogger(OutputLineFilter.class);
 
   /**
    * Applies filter based on input cache (on service log only).
@@ -52,7 +51,7 @@ public class OutputLineFilter {
         if (!isLogFilteredOut) {
           inputLruCache.put(logMessage, timestamp);
         } else {
-          LOG.debug("Log line filtered out: {} (file: {}, dedupInterval: {}, lastDedupEnabled: {})",
+          logger.debug("Log line filtered out: {} (file: {}, dedupInterval: {}, lastDedupEnabled: {})",
             logMessage, inputLruCache.getFileName(), inputLruCache.getDedupInterval(), inputLruCache.isLastDedupEnabled());
         }
       }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputManagerImpl.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputManagerImpl.java
index 390a770..595a738 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputManagerImpl.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputManagerImpl.java
@@ -33,8 +33,9 @@ import org.apache.ambari.logfeeder.util.LogFeederUtil;
 import org.apache.ambari.logsearch.config.api.OutputConfigMonitor;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.inject.Inject;
 import java.io.File;
@@ -44,7 +45,7 @@ import java.util.List;
 import java.util.Map;
 
 public class OutputManagerImpl extends OutputManager {
-  private static final Logger LOG = Logger.getLogger(OutputManagerImpl.class);
+  private static final Logger logger = LogManager.getLogger(OutputManagerImpl.class);
 
   private static final int MAX_OUTPUT_SIZE = 32765; // 32766-1
 
@@ -155,7 +156,7 @@ public class OutputManagerImpl extends OutputManager {
           }
           output.write(jsonObj, inputMarker);
         } catch (Exception e) {
-          LOG.error("Error writing. to " + output.getShortDescription(), e);
+          logger.error("Error writing. to " + output.getShortDescription(), e);
         }
       }
     }
@@ -178,7 +179,7 @@ public class OutputManagerImpl extends OutputManager {
       String logMessageKey = this.getClass().getSimpleName() + "_MESSAGESIZE";
       LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Message is too big. size=" + logMessage.getBytes().length +
         ", input=" + input.getShortDescription() + ". Truncating to " + MAX_OUTPUT_SIZE + ", first upto 100 characters=" +
-        StringUtils.abbreviate(logMessage, 100), null, LOG, Level.WARN);
+        StringUtils.abbreviate(logMessage, 100), null, logger, Level.WARN);
       logMessage = new String(logMessage.getBytes(), 0, MAX_OUTPUT_SIZE);
       jsonObj.put("log_message", logMessage);
       List<String> tagsList = (List<String>) jsonObj.get("tags");
@@ -199,7 +200,7 @@ public class OutputManagerImpl extends OutputManager {
         try {
           output.write(jsonBlock, inputMarker);
         } catch (Exception e) {
-          LOG.error("Error writing. to " + output.getShortDescription(), e);
+          logger.error("Error writing. to " + output.getShortDescription(), e);
         }
       }
     }
@@ -212,7 +213,7 @@ public class OutputManagerImpl extends OutputManager {
       try {
         output.copyFile(inputFile, inputMarker);
       }catch (Exception e) {
-        LOG.error("Error coyping file . to " + output.getShortDescription(), e);
+        logger.error("Error coyping file . to " + output.getShortDescription(), e);
       }
     }
   }
@@ -232,7 +233,7 @@ public class OutputManagerImpl extends OutputManager {
   }
 
   public void close() {
-    LOG.info("Close called for outputs ...");
+    logger.info("Close called for outputs ...");
     for (Output output : outputs) {
       try {
         output.setDrain(true);
@@ -251,7 +252,7 @@ public class OutputManagerImpl extends OutputManager {
         if (!output.isClosed()) {
           try {
             allClosed = false;
-            LOG.warn("Waiting for output to close. " + output.getShortDescription() + ", " + (iterations - i) + " more seconds");
+            logger.warn("Waiting for output to close. " + output.getShortDescription() + ", " + (iterations - i) + " more seconds");
             Thread.sleep(waitTimeMS);
           } catch (Throwable t) {
             // Ignore
@@ -259,15 +260,15 @@ public class OutputManagerImpl extends OutputManager {
         }
       }
       if (allClosed) {
-        LOG.info("All outputs are closed. Iterations=" + i);
+        logger.info("All outputs are closed. Iterations=" + i);
         return;
       }
     }
 
-    LOG.warn("Some outpus were not closed after " + iterations + "  iterations");
+    logger.warn("Some outpus were not closed after " + iterations + "  iterations");
     for (Output output : outputs) {
       if (!output.isClosed()) {
-        LOG.warn("Output not closed. Will ignore it." + output.getShortDescription() + ", pendingCound=" + output.getPendingCount());
+        logger.warn("Output not closed. Will ignore it." + output.getShortDescription() + ", pendingCound=" + output.getPendingCount());
       }
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputS3File.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputS3File.java
index fc64d4b..fb13010 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputS3File.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputS3File.java
@@ -37,14 +37,14 @@ import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputConfi
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputConfigImpl;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputDescriptorImpl;
 import org.apache.ambari.logsearch.config.json.model.inputconfig.impl.InputS3FileDescriptorImpl;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 
-
 /**
  * Write log file into s3 bucket.
  *
@@ -55,7 +55,7 @@ import java.util.Map;
  * </ul>
  */
 public class OutputS3File extends OutputFile implements RolloverCondition, RolloverHandler {
-  private static final Logger LOG = Logger.getLogger(OutputS3File.class);
+  private static final Logger logger = LogManager.getLogger(OutputS3File.class);
 
   public static final String GLOBAL_CONFIG_S3_PATH_SUFFIX = "global.config.json";
 
@@ -200,7 +200,7 @@ public class OutputS3File extends OutputFile implements RolloverCondition, Rollo
         s3Uploader = createUploader(input.getInputDescriptor().getType());
         logSpooler.add(block);
       } else {
-        LOG.error("Cannot write from non local file...");
+        logger.error("Cannot write from non local file...");
       }
     }
   }
@@ -215,7 +215,7 @@ public class OutputS3File extends OutputFile implements RolloverCondition, Rollo
   @VisibleForTesting
   protected LogSpooler createSpooler(String filePath) {
     String spoolDirectory = logFeederProps.getTmpDir() + "/s3/service";
-    LOG.info(String.format("Creating spooler with spoolDirectory=%s, filePath=%s", spoolDirectory, filePath));
+    logger.info(String.format("Creating spooler with spoolDirectory=%s, filePath=%s", spoolDirectory, filePath));
     return new LogSpooler(spoolDirectory, new File(filePath).getName()+"-", this, this,
         s3OutputConfiguration.getRolloverTimeThresholdSecs());
   }
@@ -234,7 +234,7 @@ public class OutputS3File extends OutputFile implements RolloverCondition, Rollo
     long currentSize = spoolFile.length();
     boolean result = (currentSize >= s3OutputConfiguration.getRolloverSizeThresholdBytes());
     if (result) {
-      LOG.info(String.format("Rolling over %s, current size %d, threshold size %d", spoolFile, currentSize,
+      logger.info(String.format("Rolling over %s, current size %d, threshold size %d", spoolFile, currentSize,
           s3OutputConfiguration.getRolloverSizeThresholdBytes()));
     }
     return result;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java
index 350986e..5d8e59d 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java
@@ -28,8 +28,9 @@ import org.apache.ambari.logfeeder.util.DateUtil;
 import org.apache.ambari.logfeeder.util.LogFeederUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
@@ -57,7 +58,7 @@ import java.util.stream.Collectors;
 
 public class OutputSolr extends Output<LogFeederProps, InputMarker> {
 
-  private static final Logger LOG = Logger.getLogger(OutputSolr.class);
+  private static final Logger logger = LogManager.getLogger(OutputSolr.class);
 
   private static final int SHARDS_WAIT_MS = 10000;
 
@@ -153,18 +154,18 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
 
     maxBufferSize = getIntValue("flush_size", DEFAULT_MAX_BUFFER_SIZE);
     if (maxBufferSize < 1) {
-      LOG.warn("maxBufferSize is less than 1. Making it 1");
+      logger.warn("maxBufferSize is less than 1. Making it 1");
       maxBufferSize = 1;
     }
 
-    LOG.info(String.format("Config: Number of workers=%d, splitMode=%s, splitInterval=%d."
+    logger.info(String.format("Config: Number of workers=%d, splitMode=%s, splitInterval=%d."
         + getShortDescription(), workers, splitMode, splitInterval));
 
     implicitRouting = logFeederProps.isSolrImplicitRouting(); // TODO: in the future, load it from output config (can be a use case to use different routing for audit/service logs)
     if (implicitRouting) {
-      LOG.info("Config: Use implicit routing globally for adding docs to Solr.");
+      logger.info("Config: Use implicit routing globally for adding docs to Solr.");
     } else {
-      LOG.info("Config: Use compositeId globally for adding docs to Solr.");
+      logger.info("Config: Use compositeId globally for adding docs to Solr.");
     }
   }
 
@@ -173,14 +174,14 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
     if (securityEnabled) {
       String javaSecurityConfig = System.getProperty(JAVA_SECURITY_AUTH_LOGIN_CONFIG);
       String solrHttpBuilderFactory = System.getProperty(SOLR_HTTPCLIENT_BUILDER_FACTORY);
-      LOG.info("setupSecurity() called for kerberos configuration, jaas file: "
+      logger.info("setupSecurity() called for kerberos configuration, jaas file: "
         + javaSecurityConfig + ", solr http client factory: " + solrHttpBuilderFactory);
     }
   }
 
   private void createOutgoingBuffer() {
     int bufferSize = maxBufferSize * (workers + 3);
-    LOG.info("Creating blocking queue with bufferSize=" + bufferSize);
+    logger.info("Creating blocking queue with bufferSize=" + bufferSize);
     outgoingBuffer = new LinkedBlockingQueue<OutputData>(bufferSize);
   }
 
@@ -199,17 +200,17 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
 
   private void pingSolr(int count, SolrClient solrClient) {
     try {
-      LOG.info("Pinging Solr server.");
+      logger.info("Pinging Solr server.");
       SolrPingResponse response = solrClient.ping();
       if (response.getStatus() == 0) {
-        LOG.info("Ping to Solr server is successful for worker=" + count);
+        logger.info("Ping to Solr server is successful for worker=" + count);
       } else {
-        LOG.warn(
+        logger.warn(
             String.format("Ping to Solr server failed. It would check again. worker=%d, collection=%s, " +
                 "response=%s", count, collection, response));
       }
     } catch (Throwable t) {
-      LOG.warn(String.format(
+      logger.warn(String.format(
           "Ping to Solr server failed. It would check again. worker=%d, collection=%s", count, collection), t);
     }
   }
@@ -243,7 +244,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
   }
 
   public void flush() {
-    LOG.info("Flush called...");
+    logger.info("Flush called...");
     setDrain(true);
 
     int wrapUpTimeSecs = 30;
@@ -263,7 +264,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
       }
       if (isPending) {
         try {
-          LOG.info("Will give " + (wrapUpTimeSecs - i) + " seconds to wrap up");
+          logger.info("Will give " + (wrapUpTimeSecs - i) + " seconds to wrap up");
           Thread.sleep(1000);
         } catch (InterruptedException e) {
           // ignore
@@ -289,10 +290,10 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
 
   @Override
   public void close() {
-    LOG.info("Closing Solr client...");
+    logger.info("Closing Solr client...");
     flush();
 
-    LOG.info("Closed Solr client");
+    logger.info("Closed Solr client");
     super.close();
   }
 
@@ -316,7 +317,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
 
     @Override
     public void run() {
-      LOG.info("SolrWorker thread started");
+      logger.info("SolrWorker thread started");
       long lastDispatchTime = System.currentTimeMillis();
 
       while (true) {
@@ -340,7 +341,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
             boolean response = sendToSolr(outputData);
             if (isDrain() && !response) {
               //Since sending to Solr response failed and it is in draining mode, let's break;
-              LOG.warn("In drain mode and sending to Solr failed. So exiting. output=" + getShortDescription());
+              logger.warn("In drain mode and sending to Solr failed. So exiting. output=" + getShortDescription());
               break;
             }
           }
@@ -352,7 +353,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
           // Handle thread exiting
         } catch (Throwable t) {
           String logMessageKey = this.getClass().getSimpleName() + "_SOLR_MAINLOOP_EXCEPTION";
-          LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Caught exception in main loop. " + outputData, t, LOG,
+          LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Caught exception in main loop. " + outputData, t, logger,
                 Level.ERROR);
         }
       }
@@ -360,7 +361,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
       closeSolrClient();
 
       resetLocalBuffer();
-      LOG.info("Exiting Solr worker thread. output=" + getShortDescription());
+      logger.info("Exiting Solr worker thread. output=" + getShortDescription());
     }
     
     /**
@@ -385,7 +386,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
         } catch (IOException | SolrException exception) {
           // Transient error, lets block till it is available
           try {
-            LOG.warn("Solr is not reachable. Going to retry after " + RETRY_INTERVAL + " seconds. " + "output="
+            logger.warn("Solr is not reachable. Going to retry after " + RETRY_INTERVAL + " seconds. " + "output="
                 + getShortDescription(), exception);
             Thread.sleep(RETRY_INTERVAL * 1000);
           } catch (Throwable t) {
@@ -396,7 +397,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
           // Clear the buffer
           String logMessageKey = this.getClass().getSimpleName() + "_SOLR_UPDATE_EXCEPTION";
           LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Error sending log message to server. Dropping logs",
-              serverException, LOG, Level.ERROR);
+              serverException, logger, Level.ERROR);
           resetLocalBuffer();
           break;
         }
@@ -424,7 +425,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
           localBufferBytesSize += obj.toString().length();
         } catch (Throwable t) {
           String logMessageKey = this.getClass().getSimpleName() + "_BYTE_COUNT_ERROR";
-          LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Error calculating byte size. object=" + obj, t, LOG,
+          LogFeederUtil.logErrorMessageByInterval(logMessageKey, "Error calculating byte size. object=" + obj, t, logger,
               Level.ERROR);
         }
       }
@@ -452,7 +453,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
       String shard = shards.get(slotByMin);
 
       if (lastSlotByMin != slotByMin) {
-        LOG.info("Switching to shard " + shard + ", output=" + getShortDescription());
+        logger.info("Switching to shard " + shard + ", output=" + getShortDescription());
         lastSlotByMin = slotByMin;
       }
 
@@ -466,7 +467,7 @@ public class OutputSolr extends Output<LogFeederProps, InputMarker> {
       if (response.getStatus() != 0) {
         String logMessageKey = this.getClass().getSimpleName() + "_SOLR_UPDATE_ERROR";
         LogFeederUtil.logErrorMessageByInterval(logMessageKey,
-            String.format("Error writing to Solr. response=%s, log=%s", response, outputData), null, LOG, Level.ERROR);
+            String.format("Error writing to Solr. response=%s, log=%s", response, outputData), null, logger, Level.ERROR);
       }
       statMetric.value += localBuffer.size();
       writeBytesMetric.value += localBufferBytesSize;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java
index ddf3995..bbd0cef 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/S3Uploader.java
@@ -18,14 +18,14 @@
 
 package org.apache.ambari.logfeeder.output;
 
-import com.amazonaws.AmazonClientException;
 import com.amazonaws.services.s3.transfer.TransferManager;
 import com.amazonaws.services.s3.transfer.Upload;
 import com.google.common.annotations.VisibleForTesting;
 import org.apache.ambari.logfeeder.common.LogFeederConstants;
 import org.apache.ambari.logfeeder.util.CompressionUtil;
 import org.apache.ambari.logfeeder.util.S3Util;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.File;
 import java.util.Date;
@@ -42,7 +42,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
  * {@link org.apache.ambari.logfeeder.input.InputFile}.
  */
 public class S3Uploader implements Runnable {
-  private static final Logger LOG = Logger.getLogger(S3Uploader.class);
+  private static final Logger logger = LogManager.getLogger(S3Uploader.class);
   
   public static final String POISON_PILL = "POISON-PILL";
 
@@ -82,7 +82,7 @@ public class S3Uploader implements Runnable {
     stopRunningThread.set(true);
     boolean offerStatus = fileContextsToUpload.offer(POISON_PILL);
     if (!offerStatus) {
-      LOG.warn("Could not add poison pill to interrupt uploader thread.");
+      logger.warn("Could not add poison pill to interrupt uploader thread.");
     }
   }
 
@@ -93,7 +93,7 @@ public class S3Uploader implements Runnable {
   void addFileForUpload(String fileToUpload) {
     boolean offerStatus = fileContextsToUpload.offer(fileToUpload);
     if (!offerStatus) {
-      LOG.error("Could not add file " + fileToUpload + " for upload.");
+      logger.error("Could not add file " + fileToUpload + " for upload.");
     }
   }
 
@@ -103,12 +103,12 @@ public class S3Uploader implements Runnable {
       try {
         String fileNameToUpload = fileContextsToUpload.take();
         if (POISON_PILL.equals(fileNameToUpload)) {
-          LOG.warn("Found poison pill while waiting for files to upload, exiting");
+          logger.warn("Found poison pill while waiting for files to upload, exiting");
           return;
         }
         uploadFile(new File(fileNameToUpload), logType);
       } catch (InterruptedException e) {
-        LOG.error("Interrupted while waiting for elements from fileContextsToUpload", e);
+        logger.error("Interrupted while waiting for elements from fileContextsToUpload", e);
         return;
       }
     }
@@ -134,18 +134,18 @@ public class S3Uploader implements Runnable {
     String s3Path = new S3LogPathResolver().getResolvedPath(
         s3OutputConfiguration.getS3Path() + LogFeederConstants.S3_PATH_SEPARATOR + logType, keySuffix,
         s3OutputConfiguration.getCluster());
-    LOG.info(String.format("keyPrefix=%s, keySuffix=%s, s3Path=%s", s3OutputConfiguration.getS3Path(), keySuffix, s3Path));
+    logger.info(String.format("keyPrefix=%s, keySuffix=%s, s3Path=%s", s3OutputConfiguration.getS3Path(), keySuffix, s3Path));
     File sourceFile = createCompressedFileForUpload(fileToUpload, compressionAlgo);
 
-    LOG.info("Starting S3 upload " + sourceFile + " -> " + bucketName + ", " + s3Path);
+    logger.info("Starting S3 upload " + sourceFile + " -> " + bucketName + ", " + s3Path);
     uploadFileToS3(bucketName, s3Path, sourceFile, s3AccessKey, s3SecretKey);
 
     // delete local compressed file
     sourceFile.delete();
     if (deleteOnEnd) {
-      LOG.info("Deleting input file as required");
+      logger.info("Deleting input file as required");
       if (!fileToUpload.delete()) {
-        LOG.error("Could not delete file " + fileToUpload.getAbsolutePath() + " after upload to S3");
+        logger.error("Could not delete file " + fileToUpload.getAbsolutePath() + " after upload to S3");
       }
     }
     return s3Path;
@@ -157,8 +157,8 @@ public class S3Uploader implements Runnable {
     try {
       Upload upload = transferManager.upload(bucketName, s3Key, localFile);
       upload.waitForUploadResult();
-    } catch (AmazonClientException | InterruptedException e) {
-      LOG.error("s3 uploading failed for file :" + localFile.getAbsolutePath(), e);
+    } catch (InterruptedException e) {
+      logger.error("s3 uploading failed for file :" + localFile.getAbsolutePath(), e);
     } finally {
       S3Util.shutdownTransferManager(transferManager);
     }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/spool/LogSpooler.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/spool/LogSpooler.java
index 7fc47a9..7d7d111 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/spool/LogSpooler.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/spool/LogSpooler.java
@@ -20,7 +20,8 @@ package org.apache.ambari.logfeeder.output.spool;
 
 import com.google.common.annotations.VisibleForTesting;
 import org.apache.ambari.logfeeder.util.DateUtil;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.BufferedWriter;
 import java.io.File;
@@ -43,7 +44,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
  */
 public class LogSpooler {
   
-  private static final Logger LOG = Logger.getLogger(LogSpooler.class);
+  private static final Logger logger = LogManager.getLogger(LogSpooler.class);
   public static final long TIME_BASED_ROLLOVER_DISABLED_THRESHOLD = 0;
   static final String fileDateFormat = "yyyy-MM-dd-HH-mm-ss";
 
@@ -102,7 +103,7 @@ public class LogSpooler {
   private void initializeSpoolDirectory() {
     File spoolDir = new File(spoolDirectory);
     if (!spoolDir.exists()) {
-      LOG.info("Creating spool directory: " + spoolDir);
+      logger.info("Creating spool directory: " + spoolDir);
       boolean result = spoolDir.mkdirs();
       if (!result) {
         throw new LogSpoolerException("Could not create spool directory: " + spoolDirectory);
@@ -120,7 +121,7 @@ public class LogSpooler {
           + ", error message: " + e.getLocalizedMessage(), e);
     }
     currentSpoolerContext = new LogSpoolerContext(currentSpoolFile);
-    LOG.info("Initialized spool file at path: " + currentSpoolFile);
+    logger.info("Initialized spool file at path: " + currentSpoolFile);
   }
 
   @VisibleForTesting
@@ -145,7 +146,7 @@ public class LogSpooler {
     currentSpoolBufferedWriter.println(logEvent);
     currentSpoolerContext.logEventSpooled();
     if (rolloverCondition.shouldRollover(currentSpoolerContext)) {
-      LOG.info("Trying to rollover based on rollover condition");
+      logger.info("Trying to rollover based on rollover condition");
       tryRollover();
     }
   }
@@ -158,19 +159,19 @@ public class LogSpooler {
    * rolled over file.
    */
   public void rollover() {
-    LOG.info("Rollover condition detected, rolling over file: " + currentSpoolFile);
+    logger.info("Rollover condition detected, rolling over file: " + currentSpoolFile);
     currentSpoolBufferedWriter.flush();
     if (currentSpoolFile.length()==0) {
-      LOG.info("No data in file " + currentSpoolFile + ", not doing rollover");
+      logger.info("No data in file " + currentSpoolFile + ", not doing rollover");
     } else {
       currentSpoolBufferedWriter.close();
       rolloverHandler.handleRollover(currentSpoolFile);
-      LOG.info("Invoked rollover handler with file: " + currentSpoolFile);
+      logger.info("Invoked rollover handler with file: " + currentSpoolFile);
       initializeSpoolState();
     }
     boolean status = rolloverInProgress.compareAndSet(true, false);
     if (!status) {
-      LOG.error("Should have reset rollover flag!!");
+      logger.error("Should have reset rollover flag!!");
     }
   }
 
@@ -178,7 +179,7 @@ public class LogSpooler {
     if (rolloverInProgress.compareAndSet(false, true)) {
       rollover();
     } else {
-      LOG.warn("Ignoring rollover call as rollover already in progress for file " +
+      logger.warn("Ignoring rollover call as rollover already in progress for file " +
           currentSpoolFile);
     }
   }
@@ -201,7 +202,7 @@ public class LogSpooler {
   private class LogSpoolerRolloverTimerTask extends TimerTask {
     @Override
     public void run() {
-      LOG.info("Trying rollover based on time");
+      logger.info("Trying rollover based on time");
       tryRollover();
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/CompressionUtil.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/CompressionUtil.java
index c460ab3..cd39b00 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/CompressionUtil.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/CompressionUtil.java
@@ -26,11 +26,12 @@ import java.io.OutputStream;
 import org.apache.commons.compress.compressors.CompressorOutputStream;
 import org.apache.commons.compress.compressors.CompressorStreamFactory;
 import org.apache.commons.compress.utils.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 public class CompressionUtil {
 
-  private static final Logger LOG = Logger.getLogger(CompressionUtil.class);
+  private static final Logger logger = LogManager.getLogger(CompressionUtil.class);
 
   public static File compressFile(File inputFile, File outputFile, String algoName) {
     CompressorOutputStream cos = null;
@@ -54,20 +55,20 @@ public class CompressionUtil {
       ios = new FileInputStream(inputFile);
       IOUtils.copy(ios, cos);
     } catch (Exception e) {
-      LOG.error(e);
+      logger.error(e);
     } finally {
       if (cos != null) {
         try {
           cos.close();
         } catch (IOException e) {
-          LOG.error(e);
+          logger.error(e);
         }
       }
       if (ios != null) {
         try {
           ios.close();
         } catch (IOException e) {
-          LOG.error(e);
+          logger.error(e);
         }
       }
     }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/DateUtil.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/DateUtil.java
index 6321e17..811feeb 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/DateUtil.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/DateUtil.java
@@ -18,14 +18,15 @@
  */
 package org.apache.ambari.logfeeder.util;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.TimeZone;
 
-import org.apache.log4j.Logger;
-
 public class DateUtil {
-  private static final Logger LOG = Logger.getLogger(DateUtil.class);
+  private static final Logger logger = LogManager.getLogger(DateUtil.class);
   
   private DateUtil() {
     throw new UnsupportedOperationException();
@@ -39,7 +40,7 @@ public class DateUtil {
       SimpleDateFormat formatter = new SimpleDateFormat(dateFormat);
       return formatter.format(date).toString();
     } catch (Exception e) {
-      LOG.error("Error in coverting dateToString  format :" + dateFormat, e);
+      logger.error("Error in coverting dateToString  format :" + dateFormat, e);
     }
     return "";
   }
@@ -58,7 +59,7 @@ public class DateUtil {
     try {
       return dateFormatter.get().format(new Date(Long.parseLong(timeStampStr)));
     } catch (Exception ex) {
-      LOG.error(ex);
+      logger.error(ex);
       return null;
     }
   }
@@ -67,7 +68,7 @@ public class DateUtil {
     try {
       return dateFormatter.get().format(new Date());
     } catch (Exception ex) {
-      LOG.error(ex);
+      logger.error(ex);
       return null;
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/FileUtil.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/FileUtil.java
index 3270d29..8e2b2c9 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/FileUtil.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/FileUtil.java
@@ -34,14 +34,14 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.tools.ant.DirectoryScanner;
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.type.TypeReference;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class FileUtil {
-  private static final Logger LOG = LoggerFactory.getLogger(FileUtil.class);
+  private static final Logger logger = LogManager.getLogger(FileUtil.class);
   private static final String FOLDER_SEPARATOR = "/";
 
   private FileUtil() {
@@ -50,9 +50,9 @@ public class FileUtil {
 
   public static List<File> getAllFileFromDir(File directory, String extension, boolean checkInSubDir) {
     if (!directory.exists()) {
-      LOG.error(directory.getAbsolutePath() + " is not exists ");
+      logger.error(directory.getAbsolutePath() + " is not exists ");
     } else if (!directory.isDirectory()) {
-      LOG.error(directory.getAbsolutePath() + " is not Directory ");
+      logger.error(directory.getAbsolutePath() + " is not Directory ");
     } else {
       return (List<File>) FileUtils.listFiles(directory, new String[]{extension}, checkInSubDir);
     }
@@ -68,19 +68,19 @@ public class FileUtil {
         return basicAttr.fileKey();
       }
     } catch (Throwable ex) {
-      LOG.error("Error getting file attributes for file=" + file, ex);
+      logger.error("Error getting file attributes for file=" + file, ex);
     }
     return file.toString();
   }
 
   public static File getFileFromClasspath(String filename) {
     URL fileCompleteUrl = Thread.currentThread().getContextClassLoader().getResource(filename);
-    LOG.debug("File Complete URI :" + fileCompleteUrl);
+    logger.debug("File Complete URI :" + fileCompleteUrl);
     File file = null;
     try {
       file = new File(fileCompleteUrl.toURI());
     } catch (Exception exception) {
-      LOG.debug(exception.getMessage(), exception.getCause());
+      logger.debug(exception.getMessage(), exception.getCause());
     }
     return file;
   }
@@ -91,7 +91,7 @@ public class FileUtil {
       HashMap<String, Object> jsonmap = mapper.readValue(jsonFile, new TypeReference<HashMap<String, Object>>() {});
       return jsonmap;
     } catch (IOException e) {
-      LOG.error("{}", e);
+      logger.error("{}", e);
     }
     return new HashMap<String, Object>();
   }
@@ -121,11 +121,11 @@ public class FileUtil {
             return files;
           }
         } catch (Exception e) {
-          LOG.info("Input file was not found by pattern (exception thrown); {}, message: {}", searchPath, e.getMessage());
+          logger.info("Input file was not found by pattern (exception thrown); {}, message: {}", searchPath, e.getMessage());
         }
 
       } else {
-        LOG.info("Input file config was not found by pattern; {}", searchPath);
+        logger.debug("Input file config was not found by pattern; {}", searchPath);
       }
       return new File[]{};
     }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/LogFeederHDFSUtil.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/LogFeederHDFSUtil.java
index 4248ae1..a225a12 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/LogFeederHDFSUtil.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/LogFeederHDFSUtil.java
@@ -23,10 +23,11 @@ import java.io.IOException;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 public class LogFeederHDFSUtil {
-  private static final Logger LOG = Logger.getLogger(LogFeederHDFSUtil.class);
+  private static final Logger logger = LogManager.getLogger(LogFeederHDFSUtil.class);
 
   private LogFeederHDFSUtil() {
     throw new UnsupportedOperationException();
@@ -38,11 +39,11 @@ public class LogFeederHDFSUtil {
     Path dst = new Path(destFilePath);
     boolean isCopied = false;
     try {
-      LOG.info("copying localfile := " + sourceFilepath + " to hdfsPath := " + destFilePath);
+      logger.info("copying localfile := " + sourceFilepath + " to hdfsPath := " + destFilePath);
       fileSystem.copyFromLocalFile(delSrc, overwrite, src, dst);
       isCopied = true;
     } catch (Exception e) {
-      LOG.error("Error copying local file :" + sourceFilepath + " to hdfs location : " + destFilePath, e);
+      logger.error("Error copying local file :" + sourceFilepath + " to hdfs location : " + destFilePath, e);
     }
     return isCopied;
   }
@@ -53,7 +54,7 @@ public class LogFeederHDFSUtil {
       FileSystem fs = FileSystem.get(configuration);
       return fs;
     } catch (Exception e) {
-      LOG.error("Exception is buildFileSystem :", e);
+      logger.error("Exception is buildFileSystem :", e);
     }
     return null;
   }
@@ -70,7 +71,7 @@ public class LogFeederHDFSUtil {
       try {
         fileSystem.close();
       } catch (IOException e) {
-        LOG.error(e.getLocalizedMessage(), e.getCause());
+        logger.error(e.getLocalizedMessage(), e.getCause());
       }
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/LogFeederUtil.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/LogFeederUtil.java
index 9b0b0e8..f8151c2 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/LogFeederUtil.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/LogFeederUtil.java
@@ -25,8 +25,9 @@ import org.apache.ambari.logfeeder.input.InputFile;
 import org.apache.ambari.logfeeder.plugin.common.MetricData;
 import org.apache.ambari.logfeeder.plugin.input.InputMarker;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.lang.reflect.Type;
 import java.net.InetAddress;
@@ -36,7 +37,7 @@ import java.util.Hashtable;
 import java.util.Map;
 
 public class LogFeederUtil {
-  private static final Logger LOG = Logger.getLogger(LogFeederUtil.class);
+  private static final Logger logger = LogManager.getLogger(LogFeederUtil.class);
 
   private final static String GSON_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
   private static Gson gson = new GsonBuilder().setDateFormat(GSON_DATE_FORMAT).create();
@@ -55,16 +56,16 @@ public class LogFeederUtil {
       String getHostName = ip.getHostName();
       String getCanonicalHostName = ip.getCanonicalHostName();
       if (!getCanonicalHostName.equalsIgnoreCase(ipAddress)) {
-        LOG.info("Using getCanonicalHostName()=" + getCanonicalHostName);
+        logger.info("Using getCanonicalHostName()=" + getCanonicalHostName);
         hostName = getCanonicalHostName;
       } else {
-        LOG.info("Using getHostName()=" + getHostName);
+        logger.info("Using getHostName()=" + getHostName);
         hostName = getHostName;
       }
-      LOG.info("ipAddress=" + ipAddress + ", getHostName=" + getHostName + ", getCanonicalHostName=" + getCanonicalHostName +
+      logger.info("ipAddress=" + ipAddress + ", getHostName=" + getHostName + ", getCanonicalHostName=" + getCanonicalHostName +
         ", hostName=" + hostName);
     } catch (UnknownHostException e) {
-      LOG.error("Error getting hostname.", e);
+      logger.error("Error getting hostname.", e);
     }
   }
 
@@ -72,7 +73,7 @@ public class LogFeederUtil {
     long currStat = metric.value;
     long currMS = System.currentTimeMillis();
     if (currStat > metric.prevLogValue) {
-      LOG.info(prefixStr + ": total_count=" + metric.value + ", duration=" + (currMS - metric.prevLogTime) / 1000 +
+      logger.info(prefixStr + ": total_count=" + metric.value + ", duration=" + (currMS - metric.prevLogTime) / 1000 +
         " secs, count=" + (currStat - metric.prevLogValue) + postFix);
     }
     metric.prevLogValue = currStat;
@@ -105,7 +106,7 @@ public class LogFeederUtil {
       try {
         retValue = Integer.parseInt(strValue);
       } catch (Throwable t) {
-        LOG.error("Error parsing integer value. str=" + strValue + ", " + errMessage);
+        logger.error("Error parsing integer value. str=" + strValue + ", " + errMessage);
       }
     }
     return retValue;
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java
index 31a38d0..aa3aa4c 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/S3Util.java
@@ -26,50 +26,36 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.zip.GZIPInputStream;
 
+import com.amazonaws.services.s3.AmazonS3ClientBuilder;
 import org.apache.ambari.logfeeder.common.LogFeederConstants;
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
 
-import com.amazonaws.AmazonClientException;
-import com.amazonaws.auth.AWSCredentials;
 import com.amazonaws.services.s3.AmazonS3;
-import com.amazonaws.services.s3.AmazonS3Client;
 import com.amazonaws.services.s3.model.GetObjectRequest;
 import com.amazonaws.services.s3.model.ObjectMetadata;
 import com.amazonaws.services.s3.model.PutObjectRequest;
 import com.amazonaws.services.s3.model.S3Object;
 import com.amazonaws.services.s3.transfer.TransferManager;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * Utility to connect to s3
  */
 public class S3Util {
-  private static final Logger LOG = Logger.getLogger(S3Util.class);
+  private static final Logger logger = LogManager.getLogger(S3Util.class);
 
   private S3Util() {
     throw new UnsupportedOperationException();
   }
   
   public static AmazonS3 getS3Client(String accessKey, String secretKey) {
-    AWSCredentials awsCredentials = AWSUtil.createAWSCredentials(accessKey, secretKey);
-    AmazonS3 s3client;
-    if (awsCredentials != null) {
-      s3client = new AmazonS3Client(awsCredentials);
-    } else {
-      s3client = new AmazonS3Client();
-    }
-    return s3client;
+    AmazonS3 s3client = AmazonS3ClientBuilder.defaultClient();
+    return AmazonS3ClientBuilder.defaultClient();
   }
 
   public static TransferManager getTransferManager(String accessKey, String secretKey) {
-    AWSCredentials awsCredentials = AWSUtil.createAWSCredentials(accessKey, secretKey);
-    TransferManager transferManager;
-    if (awsCredentials != null) {
-      transferManager = new TransferManager(awsCredentials);
-    } else {
-      transferManager = new TransferManager();
-    }
-    return transferManager;
+    return new TransferManager();
   }
 
   public static void shutdownTransferManager(TransferManager transferManager) {
@@ -120,7 +106,7 @@ public class S3Util {
       BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(objectInputStream));
       return bufferedReader;
     } catch (IOException e) {
-      LOG.error("Error in creating stream reader for s3 file :" + s3Path, e.getCause());
+      logger.error("Error in creating stream reader for s3 file :" + s3Path, e.getCause());
       throw e;
     }
   }
@@ -130,7 +116,7 @@ public class S3Util {
     try {
       in = IOUtils.toInputStream(data, "UTF-8");
     } catch (IOException e) {
-      LOG.error(e);
+      logger.error(e);
     }
     
     if (in != null) {
@@ -138,10 +124,10 @@ public class S3Util {
       try {
         if (transferManager != null) {
           transferManager.upload(new PutObjectRequest(bucketName, s3Key, in, new ObjectMetadata())).waitForUploadResult();
-          LOG.debug("Data Uploaded to s3 file :" + s3Key + " in bucket :" + bucketName);
+          logger.debug("Data Uploaded to s3 file :" + s3Key + " in bucket :" + bucketName);
         }
-      } catch (AmazonClientException | InterruptedException e) {
-        LOG.error(e);
+      } catch (Exception e) {
+        logger.error(e);
       } finally {
         try {
           shutdownTransferManager(transferManager);
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j.xml b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j.xml
deleted file mode 100644
index d01160c..0000000
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,67 +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 "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-  <appender name="console" class="org.apache.log4j.ConsoleAppender">
-    <param name="Target" value="System.out" />
-    <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" />
-    </layout>
-  </appender>
-
-  <appender name="daily_rolling_file" class="org.apache.log4j.DailyRollingFileAppender"> 
-    <param name="file" value="target/logs/logsearch-logfeeder.log" />
-    <param name="datePattern"  value="'.'yyyy-MM-dd" /> 
-    <param name="append" value="true" /> 
-    <layout class="org.apache.log4j.PatternLayout"> 
-      <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n"/> 
-    </layout> 
-  </appender>
-
-  <appender name="rolling_file_json"
-    class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
-    <param name="file" value="target/logs/logsearch-logfeeder.json" />
-    <param name="append" value="true" />
-    <param name="maxFileSize" value="10MB" />
-    <param name="maxBackupIndex" value="10" />
-    <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion" />
-  </appender>
-
-  <category name="org.apache.solr.common.cloud.ZkStateReader" additivity="false">
-    <priority value="error" />
-    <appender-ref ref="daily_rolling_file" />
-  </category>
-
-  <category name="apache.solr.client.solrj.impl.CloudSolrClient" additivity="false">
-    <priority value="fatal" />
-    <appender-ref ref="daily_rolling_file" />
-  </category>
-
-  <category name="org.apache.ambari.logfeeder" additivity="false">
-    <priority value="INFO" />
-    <appender-ref ref="console" />
-  </category>
-
-  <root>
-    <priority value="info"/>
-    <appender-ref ref="console"/>
-  </root>
- 
-</log4j:configuration>  
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j2.yml b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j2.yml
new file mode 100644
index 0000000..21e3312
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j2.yml
@@ -0,0 +1,74 @@
+# 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.
+Configutation:
+  name: LogFeederConfig
+  packages: org.apache.ambari.logsearch.layout
+
+  Properties:
+    Property:
+      name: log-path
+      value: "target/logs"
+
+  Appenders:
+
+    Console:
+      name: Console_Appender
+      target: SYSTEM_OUT
+      PatternLayout:
+        pattern: "%d [%t] %-5p %C{6} (%F:%L) - %m%n"
+
+    RollingFile:
+    - name: RollingFile_Appender
+      fileName: ${log-path}/logfeeder.log
+      filePattern: "logfeeder.log.%d{yyyy-MM-dd-hh-mm}.gz"
+      PatternLayout:
+        pattern: "%d [%t] %-5p %C{6} (%F:%L) - %m%n"
+      Policies:
+        SizeBasedTriggeringPolicy:
+          size: 10 MB
+      DefaultRollOverStrategy:
+        max: 10
+    - name: RollingFileJson_Appender
+      fileName: ${log-path}/logfeeder.json
+      filePattern: "logfeeder.json.%d{yyyy-MM-dd-hh-mm}.gz"
+      ignoreExceptions: false
+      LogSearchJsonLayout:
+        charset: UTF-8
+      Policies:
+        SizeBasedTriggeringPolicy:
+          size: 10 MB
+      DefaultRollOverStrategy:
+        max: 10
+
+  Loggers:
+
+    Root:
+      level: info
+      AppenderRef:
+      - ref: Console_Appender
+      - ref: RollingFile_Appender
+      - ref: RollingFileJson_Appender
+
+    Logger:
+    - name: org.apache.solr.common.cloud.ZkStateReader
+      additivity: false
+      level: error
+      AppenderRef:
+      - ref: Console_Appender
+    - name: org.apache.solr.client.solrj.impl.CloudSolrClient
+      additivity: false
+      level: info
+      AppenderRef:
+      - ref: Console_Appender
\ No newline at end of file
diff --git a/ambari-logsearch/ambari-logsearch-server/build.xml b/ambari-logsearch/ambari-logsearch-server/build.xml
index 15ceedc..b509a15 100644
--- a/ambari-logsearch/ambari-logsearch-server/build.xml
+++ b/ambari-logsearch/ambari-logsearch-server/build.xml
@@ -43,7 +43,7 @@
     </copy>
     <copy todir="target/package/conf" includeEmptyDirs="no">
       <fileset file="src/main/scripts/logsearch-env.sh"/>
-      <fileset file="target/classes/log4j.xml"/>
+      <fileset file="target/classes/log4j2.yml"/>
       <fileset file="target/classes/default.properties"/>
       <fileset file="target/classes/logsearch.properties"/>
       <fileset file="target/classes/info.properties"/>
diff --git a/ambari-logsearch/ambari-logsearch-server/pom.xml b/ambari-logsearch/ambari-logsearch-server/pom.xml
index 86ba721..ea58d6f 100755
--- a/ambari-logsearch/ambari-logsearch-server/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-server/pom.xml
@@ -29,9 +29,9 @@
   <properties>
     <spring-boot.version>2.0.5.RELEASE</spring-boot.version>
     <!-- <spring-boot.version>2.1.0.M2</spring-boot.version> -->
-    <spring.version>5.0.9.RELEASE</spring.version>
+    <spring.version>5.1.0.RELEASE</spring.version>
     <spring-session.version>1.3.3.RELEASE</spring-session.version>
-    <spring.security.version>5.0.8.RELEASE</spring.security.version>
+    <spring.security.version>5.1.0.RELEASE</spring.security.version>
     <jersey.version>2.27</jersey.version>
     <jetty.version>9.4.12.v20180830</jetty.version>
     <swagger.version>1.5.16</swagger.version>
@@ -259,8 +259,8 @@
     </dependency>
     <dependency>
       <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-starter-log4j</artifactId>
-      <version>1.3.8.RELEASE</version>
+      <artifactId>spring-boot-starter-log4j2</artifactId>
+      <version>${spring-boot.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework.boot</groupId>
@@ -389,7 +389,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.ambari</groupId>
-      <artifactId>ambari-logsearch-appender</artifactId>
+      <artifactId>ambari-logsearch-log4j2-appender</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
@@ -560,6 +560,15 @@
       <groupId>com.fasterxml.jackson.dataformat</groupId>
       <artifactId>jackson-dataformat-xml</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-jcl</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.17</version>
+    </dependency>
     <!-- Exclude jars globally-->
     <dependency>
       <groupId>org.springframework.boot</groupId>
@@ -582,7 +591,25 @@
     <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging</artifactId>
-      <version>1.1.1</version>
+      <version>1.2</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <version>1.7.25</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+      <version>1.7.25</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jul-to-slf4j</artifactId>
+      <version>1.7.25</version>
       <scope>provided</scope>
     </dependency>
   </dependencies>
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/auth/filter/AbstractJWTFilter.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/auth/filter/AbstractJWTFilter.java
index 9b02e2e..3aba589 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/auth/filter/AbstractJWTFilter.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/auth/filter/AbstractJWTFilter.java
@@ -27,8 +27,8 @@ import io.jsonwebtoken.SignatureException;
 import org.apache.ambari.logsearch.auth.model.JWTAuthenticationToken;
 import org.apache.commons.lang.StringUtils;
 import org.apache.http.client.utils.URIBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.authentication.AnonymousAuthenticationToken;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.core.Authentication;
@@ -61,7 +61,7 @@ import java.util.Map;
 
 public abstract class AbstractJWTFilter extends AbstractAuthenticationProcessingFilter {
 
-  private static final Logger LOG = LoggerFactory.getLogger(AbstractJWTFilter.class);
+  private static final Logger logger = LogManager.getLogger(AbstractJWTFilter.class);
 
   private static final String PEM_HEADER = "-----BEGIN CERTIFICATE-----\n";
   private static final String PEM_FOOTER = "\n-----END CERTIFICATE-----";
@@ -87,8 +87,8 @@ public abstract class AbstractJWTFilter extends AbstractAuthenticationProcessing
         .parseClaimsJws(getJWTFromCookie(request))
         .getBody();
       String userName  = claims.getSubject();
-      LOG.info("USERNAME: " + userName);
-      LOG.info("URL = " + request.getRequestURL());
+      logger.info("USERNAME: " + userName);
+      logger.info("URL = " + request.getRequestURL());
       if (StringUtils.isNotEmpty(claims.getAudience()) && !getAudiences().contains(claims.getAudience())) {
         throw new IllegalArgumentException(String.format("Audience validation failed. (Not found: %s)", claims.getAudience()));
       }
@@ -97,8 +97,8 @@ public abstract class AbstractJWTFilter extends AbstractAuthenticationProcessing
       SecurityContextHolder.getContext().setAuthentication(authentication);
       return authentication;
     } catch (ExpiredJwtException | MalformedJwtException | SignatureException | IllegalArgumentException e) {
-      LOG.info("URL = " + request.getRequestURL());
-      LOG.warn("Error during JWT authentication: {}", e.getMessage());
+      logger.info("URL = " + request.getRequestURL());
+      logger.warn("Error during JWT authentication: {}", e.getMessage());
       throw new BadCredentialsException(e.getMessage(), e);
     }
   }
@@ -148,7 +148,7 @@ public abstract class AbstractJWTFilter extends AbstractAuthenticationProcessing
     if (cookies != null) {
       for (Cookie cookie : cookies) {
         if (getCookieName().equals(cookie.getName())) {
-          LOG.info(getCookieName() + " cookie has been found and is being processed");
+          logger.info(getCookieName() + " cookie has been found and is being processed");
           serializedJWT = cookie.getValue();
           break;
         }
@@ -218,7 +218,7 @@ public abstract class AbstractJWTFilter extends AbstractAuthenticationProcessing
 
         return builder.build().toString();
       } catch (URISyntaxException ue) {
-        LOG.error("URISyntaxException while build xforward url ", ue);
+        logger.error("URISyntaxException while build xforward url ", ue);
         return request.getRequestURL().toString();
       }
     } else {
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ApiDocStorage.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ApiDocStorage.java
index d7b8666..e31a3b4 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ApiDocStorage.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ApiDocStorage.java
@@ -21,8 +21,8 @@ package org.apache.ambari.logsearch.common;
 import io.swagger.jaxrs.config.BeanConfig;
 import io.swagger.models.Swagger;
 import io.swagger.util.Yaml;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
@@ -33,7 +33,7 @@ import java.util.concurrent.ConcurrentHashMap;
 @Named
 public class ApiDocStorage {
 
-  private static final Logger LOG = LoggerFactory.getLogger(ApiDocStorage.class);
+  private static final Logger logger = LogManager.getLogger(ApiDocStorage.class);
 
   private final Map<String, Object> swaggerMap = new ConcurrentHashMap<>();
 
@@ -45,7 +45,7 @@ public class ApiDocStorage {
     Thread loadApiDocThread = new Thread("load_swagger_api_doc") {
       @Override
       public void run() {
-        LOG.info("Start thread to scan REST API doc from endpoints.");
+        logger.info("Start thread to scan REST API doc from endpoints.");
         Swagger swagger = beanConfig.getSwagger();
         beanConfig.configure(swagger);
         beanConfig.scanAndRead();
@@ -64,7 +64,7 @@ public class ApiDocStorage {
         } catch (Exception e) {
           e.printStackTrace();
         }
-        LOG.info("Scanning REST API endpoints and generating docs has been successful.");
+        logger.info("Scanning REST API endpoints and generating docs has been successful.");
       }
     };
     loadApiDocThread.setDaemon(true);
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java
index 76d43e5..4247bc0 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java
@@ -27,7 +27,8 @@ import javax.ws.rs.core.Response;
 import org.apache.ambari.logsearch.conf.AuthPropsConfig;
 import org.apache.ambari.logsearch.configurer.SslConfigurer;
 import org.apache.http.auth.InvalidCredentialsException;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.glassfish.jersey.client.JerseyClient;
 import org.glassfish.jersey.client.JerseyClientBuilder;
 import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
@@ -41,7 +42,7 @@ public class ExternalServerClient {
   @Inject
   private SslConfigurer sslConfigurer;
 
-  private static Logger LOG = Logger.getLogger(ExternalServerClient.class);
+  private static final Logger logger = LogManager.getLogger(ExternalServerClient.class);
   private ThreadLocal<JerseyClient> localJerseyClient;
 
   @Inject
@@ -69,7 +70,7 @@ public class ExternalServerClient {
     client.register(authFeature);
 
     WebTarget target = client.target(url);
-    LOG.debug("URL: " + url);
+    logger.debug("URL: " + url);
     
     Invocation.Builder invocationBuilder =  target.request();
     try {
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/LogLevelManagerFilterConfigurer.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/LogLevelManagerFilterConfigurer.java
index 5efca85..9e6ec29 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/LogLevelManagerFilterConfigurer.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/LogLevelManagerFilterConfigurer.java
@@ -26,8 +26,8 @@ import org.apache.ambari.logsearch.config.zookeeper.LogLevelFilterManagerZK;
 import org.apache.ambari.logsearch.config.zookeeper.LogSearchConfigZKHelper;
 import org.apache.ambari.logsearch.dao.EventHistorySolrDao;
 import org.apache.curator.framework.CuratorFramework;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
@@ -35,7 +35,7 @@ import javax.inject.Named;
 
 @Named
 public class LogLevelManagerFilterConfigurer implements Configurer {
-  private static final Logger logger = LoggerFactory.getLogger(LogLevelManagerFilterConfigurer.class);
+  private static final Logger logger = LogManager.getLogger(LogLevelManagerFilterConfigurer.class);
 
   private static final int RETRY_INTERVAL_SECONDS = 10;
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/LogSearchConfigConfigurer.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/LogSearchConfigConfigurer.java
index fc71409..88ea77d 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/LogSearchConfigConfigurer.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/LogSearchConfigConfigurer.java
@@ -29,12 +29,12 @@ import org.apache.ambari.logsearch.conf.global.LogSearchConfigState;
 import org.apache.ambari.logsearch.config.api.LogSearchConfigFactory;
 import org.apache.ambari.logsearch.config.api.LogSearchConfigServer;
 import org.apache.ambari.logsearch.config.zookeeper.LogSearchConfigServerZK;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 @Named
 public class LogSearchConfigConfigurer implements Configurer {
-  private static final Logger logger = LoggerFactory.getLogger(LogSearchConfigConfigurer.class);
+  private static final Logger logger = LogManager.getLogger(LogSearchConfigConfigurer.class);
   
   private static final int RETRY_INTERVAL_SECONDS = 10;
   
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrAuditAliasConfigurer.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrAuditAliasConfigurer.java
index 679c1f5..cba0702 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrAuditAliasConfigurer.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrAuditAliasConfigurer.java
@@ -23,12 +23,12 @@ import org.apache.ambari.logsearch.conf.global.SolrAuditLogsState;
 import org.apache.ambari.logsearch.dao.AuditSolrDao;
 import org.apache.ambari.logsearch.handler.ListCollectionHandler;
 import org.apache.commons.lang.StringUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.request.CollectionAdminRequest;
 import org.apache.solr.client.solrj.response.CollectionAdminResponse;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -38,7 +38,7 @@ import java.util.List;
 
 public class SolrAuditAliasConfigurer implements Configurer {
 
-  private static final Logger LOG = LoggerFactory.getLogger(SolrAuditAliasConfigurer.class);
+  private static final Logger logger = LogManager.getLogger(SolrAuditAliasConfigurer.class);
 
   private static final int ALIAS_SETUP_RETRY_SECOND = 30 * 60;
 
@@ -56,16 +56,16 @@ public class SolrAuditAliasConfigurer implements Configurer {
       Arrays.asList(solrPropsConfig.getCollection(), solrPropsConfig.getRangerCollection().trim());
 
     if (solrPropsConfig.getAliasNameIn() == null || collectionListIn.size() == 0) {
-      LOG.info("Will not create alias {} for {}", solrPropsConfig.getAliasNameIn(), collectionListIn.toString());
+      logger.info("Will not create alias {} for {}", solrPropsConfig.getAliasNameIn(), collectionListIn.toString());
       return;
     }
 
-    LOG.info("setupAlias " + solrPropsConfig.getAliasNameIn() + " for " + collectionListIn.toString());
+    logger.info("setupAlias " + solrPropsConfig.getAliasNameIn() + " for " + collectionListIn.toString());
     // Start a background thread to do setup
     Thread setupThread = new Thread("setup_alias_" + solrPropsConfig.getAliasNameIn()) {
       @Override
       public void run() {
-        LOG.info("Started monitoring thread to check availability of Solr server. alias=" + solrPropsConfig.getAliasNameIn() +
+        logger.info("Started monitoring thread to check availability of Solr server. alias=" + solrPropsConfig.getAliasNameIn() +
           ", collections=" + collectionListIn.toString());
         int retryCount = 0;
         while (true) {
@@ -76,22 +76,22 @@ public class SolrAuditAliasConfigurer implements Configurer {
               if (count > 0) {
                 solrClient.setDefaultCollection(solrPropsConfig.getAliasNameIn());
                 if (count == collectionListIn.size()) {
-                  LOG.info("Setup for alias " + solrPropsConfig.getAliasNameIn() + " is successful. Exiting setup retry thread. " +
+                  logger.info("Setup for alias " + solrPropsConfig.getAliasNameIn() + " is successful. Exiting setup retry thread. " +
                     "Collections=" + collectionListIn);
                   state.setSolrAliasReady(true);
                   break;
                 }
               } else {
-                LOG.warn("Not able to create alias=" + solrPropsConfig.getAliasNameIn() + ", retryCount=" + retryCount);
+                logger.warn("Not able to create alias=" + solrPropsConfig.getAliasNameIn() + ", retryCount=" + retryCount);
               }
             } catch (Exception e) {
-              LOG.error("Error setting up alias=" + solrPropsConfig.getAliasNameIn(), e);
+              logger.error("Error setting up alias=" + solrPropsConfig.getAliasNameIn(), e);
             }
           }
           try {
             Thread.sleep(ALIAS_SETUP_RETRY_SECOND * 1000);
           } catch (InterruptedException sleepInterrupted) {
-            LOG.info("Sleep interrupted while setting up alias " + solrPropsConfig.getAliasNameIn());
+            logger.info("Sleep interrupted while setting up alias " + solrPropsConfig.getAliasNameIn());
             break;
           }
           retryCount++;
@@ -108,7 +108,7 @@ public class SolrAuditAliasConfigurer implements Configurer {
     try {
       collectionToAdd = new ListCollectionHandler().handle(solrClient, null);
     } catch (Exception e) {
-      LOG.error("Invalid state during getting collections for creating alias");
+      logger.error("Invalid state during getting collections for creating alias");
     }
     collectionToAdd.retainAll(collectionListIn);
 
@@ -118,15 +118,15 @@ public class SolrAuditAliasConfigurer implements Configurer {
       CollectionAdminRequest.CreateAlias aliasCreateRequest = CollectionAdminRequest.createAlias(aliasNameIn, collectionsCSV);
       CollectionAdminResponse createResponse = aliasCreateRequest.process(solrClient);
       if (createResponse.getStatus() != 0) {
-        LOG.error("Error creating alias. alias=" + aliasNameIn + ", collectionList=" + collectionsCSV
+        logger.error("Error creating alias. alias=" + aliasNameIn + ", collectionList=" + collectionsCSV
           + ", response=" + createResponse);
         return 0;
       }
     }
     if (collectionToAdd.size() == collectionListIn.size()) {
-      LOG.info("Created alias for all collections. alias=" + aliasNameIn + ", collectionsCSV=" + collectionsCSV);
+      logger.info("Created alias for all collections. alias=" + aliasNameIn + ", collectionsCSV=" + collectionsCSV);
     } else {
-      LOG.info("Created alias for " + collectionToAdd.size() + " out of " + collectionListIn.size() + " collections. " +
+      logger.info("Created alias for " + collectionToAdd.size() + " out of " + collectionListIn.size() + " collections. " +
         "alias=" + aliasNameIn + ", collectionsCSV=" + collectionsCSV);
     }
     return collectionToAdd.size();
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java
index 9625736..26ff70b 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java
@@ -28,13 +28,13 @@ import org.apache.ambari.logsearch.handler.ListCollectionHandler;
 import org.apache.ambari.logsearch.handler.ReloadCollectionHandler;
 import org.apache.ambari.logsearch.handler.UploadConfigurationHandler;
 import org.apache.commons.lang.StringUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
 import org.apache.zookeeper.ZooKeeper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.data.solr.core.SolrTemplate;
 
 import java.io.File;
@@ -46,7 +46,7 @@ import java.util.concurrent.TimeUnit;
 
 public class SolrCollectionConfigurer implements Configurer {
 
-  private Logger LOG = LoggerFactory.getLogger(SolrCollectionConfigurer.class);
+  private Logger logger = LogManager.getLogger(SolrCollectionConfigurer.class);
 
   private static final int SETUP_RETRY_SECOND = 10;
   private static final int SESSION_TIMEOUT = 15000;
@@ -82,7 +82,7 @@ public class SolrCollectionConfigurer implements Configurer {
     Thread setupThread = new Thread("setup_collection_" + solrPropsConfig.getCollection()) {
       @Override
       public void run() {
-        LOG.info("Started monitoring thread to check availability of Solr server. collection=" + solrPropsConfig.getCollection());
+        logger.info("Started monitoring thread to check availability of Solr server. collection=" + solrPropsConfig.getCollection());
         while (!stopSetupCondition(state)) {
           int retryCount = 0;
           try {
@@ -98,7 +98,7 @@ public class SolrCollectionConfigurer implements Configurer {
             createCollectionsIfNeeded(cloudSolrClient, state, solrPropsConfig, reloadCollectionNeeded);
           } catch (Exception e) {
             retryCount++;
-            LOG.error("Error setting collection. collection=" + solrPropsConfig.getCollection() + ", retryCount=" + retryCount, e);
+            logger.error("Error setting collection. collection=" + solrPropsConfig.getCollection() + ", retryCount=" + retryCount, e);
           }
         }
       }
@@ -145,7 +145,7 @@ public class SolrCollectionConfigurer implements Configurer {
     if (securityEnabled) {
       String javaSecurityConfig = System.getProperty(JAVA_SECURITY_AUTH_LOGIN_CONFIG);
       String solrHttpBuilderFactory = System.getProperty(SOLR_HTTPCLIENT_BUILDER_FACTORY);
-      LOG.info("setupSecurity() called for kerberos configuration, jaas file: {}, solr http client factory: {}",
+      logger.info("setupSecurity() called for kerberos configuration, jaas file: {}, solr http client factory: {}",
         javaSecurityConfig, solrHttpBuilderFactory);
     }
   }
@@ -153,14 +153,14 @@ public class SolrCollectionConfigurer implements Configurer {
   private void openZkConnectionAndUpdateStatus(final SolrCollectionState state, final SolrPropsConfig solrPropsConfig) throws Exception {
     ZooKeeper zkClient = null;
     try {
-      LOG.info("Checking that Znode ('{}') is ready or not... ", solrPropsConfig.getZkConnectString());
+      logger.info("Checking that Znode ('{}') is ready or not... ", solrPropsConfig.getZkConnectString());
       zkClient = openZookeeperConnection(solrPropsConfig);
       if (!state.isZnodeReady()) {
-        LOG.info("State change: Zookeeper ZNode is available for {}", solrPropsConfig.getZkConnectString());
+        logger.info("State change: Zookeeper ZNode is available for {}", solrPropsConfig.getZkConnectString());
         state.setZnodeReady(true);
       }
     } catch (Exception e) {
-      LOG.error("Error occurred during the creation of zk client (connection string: {})", solrPropsConfig.getZkConnectString());
+      logger.error("Error occurred during the creation of zk client (connection string: {})", solrPropsConfig.getZkConnectString());
       throw e;
     } finally {
       try {
@@ -168,7 +168,7 @@ public class SolrCollectionConfigurer implements Configurer {
           zkClient.close();
         }
       } catch (Exception e) {
-        LOG.error("Could not close zk connection properly.", e);
+        logger.error("Could not close zk connection properly.", e);
       }
     }
   }
@@ -198,26 +198,26 @@ public class SolrCollectionConfigurer implements Configurer {
         try {
           List<String> collectionList = new ListCollectionHandler().handle(cloudSolrClient, null);
           if (collectionList != null) {
-            LOG.info("checkSolrStatus(): Solr getCollections() is success. collectionList=" + collectionList);
+            logger.info("checkSolrStatus(): Solr getCollections() is success. collectionList=" + collectionList);
             status = true;
             break;
           }
         } catch (Exception ex) {
-          LOG.error("Error while doing Solr check", ex);
+          logger.error("Error while doing Solr check", ex);
         }
         if (System.currentTimeMillis() - beginTimeMS > waitDurationMS) {
-          LOG.error("Solr is not reachable even after " + (System.currentTimeMillis() - beginTimeMS) + " ms. " +
+          logger.error("Solr is not reachable even after " + (System.currentTimeMillis() - beginTimeMS) + " ms. " +
             "If you are using alias, then you might have to restart LogSearch after Solr is up and running.");
           break;
         } else {
-          LOG.warn("Solr is not not reachable yet. getCollections() attempt count=" + pingCount + ". " +
+          logger.warn("Solr is not not reachable yet. getCollections() attempt count=" + pingCount + ". " +
             "Will sleep for " + waitIntervalMS + " ms and try again.");
         }
         Thread.sleep(waitIntervalMS);
 
       }
     } catch (Throwable t) {
-      LOG.error("Seems Solr is not up.");
+      logger.error("Seems Solr is not up.");
     }
     return status;
   }
@@ -238,7 +238,7 @@ public class SolrCollectionConfigurer implements Configurer {
         state.setSolrCollectionReady(true);
       }
     } catch (Exception ex) {
-      LOG.error("Error during creating/updating collection. collectionName=" + solrPropsConfig.getCollection(), ex);
+      logger.error("Error during creating/updating collection. collectionName=" + solrPropsConfig.getCollection(), ex);
     }
   }
 }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SslConfigurer.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SslConfigurer.java
index f4e2947..6ecabbf 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SslConfigurer.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/configurer/SslConfigurer.java
@@ -29,6 +29,8 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.bouncycastle.asn1.ASN1InputStream;
 import org.bouncycastle.asn1.x500.X500Name;
 import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
@@ -45,8 +47,6 @@ import org.bouncycastle.cert.X509v3CertificateBuilder;
 import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
 import org.bouncycastle.crypto.params.RSAKeyParameters;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -76,7 +76,7 @@ import static org.apache.ambari.logsearch.conf.LogSearchSslConfig.LOGSEARCH_CERT
 
 @Named
 public class SslConfigurer {
-  private static final Logger LOG = LoggerFactory.getLogger(SslConfigurer.class);
+  private static final Logger logger = LogManager.getLogger(SslConfigurer.class);
   
   private static final String KEYSTORE_LOCATION_ARG = "javax.net.ssl.keyStore";
   private static final String KEYSTORE_PASSWORD_ARG = "javax.net.ssl.keyStorePassword";
@@ -154,13 +154,13 @@ public class SslConfigurer {
       sslContextFactory.start();
       return sslContextFactory.getSslContext();
     } catch (Exception e) {
-      LOG.error("Could not create SSL Context", e);
+      logger.error("Could not create SSL Context", e);
       return null;
     } finally {
       try {
         sslContextFactory.stop();
       } catch (Exception e) {
-        LOG.error("Could not stop sslContextFactory", e);
+        logger.error("Could not stop sslContextFactory", e);
       }
     }
   }
@@ -175,7 +175,7 @@ public class SslConfigurer {
         return FileUtils.readFileToString(pwdFile);
       }
     } catch (Exception e) {
-      LOG.warn("Exception occurred during read/write password file for keystore/truststore.", e);
+      logger.warn("Exception occurred during read/write password file for keystore/truststore.", e);
       return null;
     }
   }
@@ -192,7 +192,7 @@ public class SslConfigurer {
       char[] passwordChars = config.getPassword(propertyName);
       return (ArrayUtils.isNotEmpty(passwordChars)) ? new String(passwordChars) : null;
     } catch (Exception e) {
-      LOG.warn(String.format("Could not load password %s from credential store, using default password", propertyName), e);
+      logger.warn(String.format("Could not load password %s from credential store, using default password", propertyName), e);
       return null;
     }
   }
@@ -222,7 +222,7 @@ public class SslConfigurer {
       keyStore.setKeyEntry("logsearch.alias", keyPair.getPrivate(), password, certChain);
       keyStore.store(fos, password);
     } catch (Exception e) {
-      LOG.error("Could not write certificate to Keystore", e);
+      logger.error("Could not write certificate to Keystore", e);
       throw e;
     }
   }
@@ -244,7 +244,7 @@ public class SslConfigurer {
     try {
       File certFile = new File(certificateLocation);
       if (certFile.exists()) {
-        LOG.info("Certificate file exists ({}), skip the generation.", certificateLocation);
+        logger.info("Certificate file exists ({}), skip the generation.", certificateLocation);
         return getCertFile(certificateLocation);
       } else {
         Security.addProvider(new BouncyCastleProvider());
@@ -253,7 +253,7 @@ public class SslConfigurer {
         return cert;
       }
     } catch (Exception e) {
-      LOG.error("Could not create certificate.", e);
+      logger.error("Could not create certificate.", e);
       throw e;
     }
   }
@@ -275,7 +275,7 @@ public class SslConfigurer {
       CertificateFactory factory = CertificateFactory.getInstance("X.509");
       return (X509Certificate) factory.generateCertificate(fos);
     } catch (Exception e) {
-      LOG.error("Cannot read cert file. ('" + location + "')", e);
+      logger.error("Cannot read cert file. ('" + location + "')", e);
       throw e;
     }
   }
@@ -333,12 +333,12 @@ public class SslConfigurer {
       boolean keyStoreFileExists = new File(keyStoreLocation).exists();
       if (!keyStoreFileExists) {
         FileUtil.createDirectory(certFolder);
-        LOG.warn("Keystore file ('{}') does not exist, creating new one. " +
+        logger.warn("Keystore file ('{}') does not exist, creating new one. " +
           "If the file exists, make sure you have proper permissions on that.", keyStoreLocation);
         if (isKeyStoreSpecified() && !"JKS".equalsIgnoreCase(getKeyStoreType())) {
           throw new RuntimeException(String.format("Keystore does not exist. Only JKS keystore can be auto generated. (%s)", keyStoreLocation));
         }
-        LOG.info("SSL keystore is not specified. Generating it with certificate ... (using default format: JKS)");
+        logger.info("SSL keystore is not specified. Generating it with certificate ... (using default format: JKS)");
         Security.addProvider(new BouncyCastleProvider());
         KeyPair keyPair = createKeyPair("RSA", 2048);
         File privateKeyFile = new File(String.format("%s/%s", certFolder, LOGSEARCH_KEYSTORE_PRIVATE_KEY));
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java
index 4bef51e..37123c9 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java
@@ -31,13 +31,14 @@ import org.apache.ambari.logsearch.conf.global.SolrCollectionState;
 import org.apache.ambari.logsearch.configurer.SolrAuditAliasConfigurer;
 import org.apache.ambari.logsearch.configurer.SolrCollectionConfigurer;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.data.solr.core.SolrTemplate;
 
 @Named
 public class AuditSolrDao extends SolrDaoBase {
 
-  private static final Logger LOG = Logger.getLogger(AuditSolrDao.class);
+  private static final Logger logger = LogManager.getLogger(AuditSolrDao.class);
 
   @Inject
   private SolrAuditLogPropsConfig solrAuditLogPropsConfig;
@@ -77,7 +78,7 @@ public class AuditSolrDao extends SolrDaoBase {
         new SolrAuditAliasConfigurer(this).start();
       }
     } catch (Exception e) {
-      LOG.error("Error while connecting to Solr for audit logs : solrUrl=" + solrAuditLogPropsConfig.getSolrUrl() + ", zkConnectString=" +
+      logger.error("Error while connecting to Solr for audit logs : solrUrl=" + solrAuditLogPropsConfig.getSolrUrl() + ", zkConnectString=" +
         solrAuditLogPropsConfig.getZkConnectString() + ", collection=" + solrAuditLogPropsConfig.getCollection(), e);
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/EventHistorySolrDao.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/EventHistorySolrDao.java
index e375424..e56f47f 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/EventHistorySolrDao.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/EventHistorySolrDao.java
@@ -33,20 +33,21 @@ import org.apache.ambari.logsearch.conf.SolrPropsConfig;
 import org.apache.ambari.logsearch.conf.SolrEventHistoryPropsConfig;
 import org.apache.ambari.logsearch.conf.global.SolrCollectionState;
 import org.apache.ambari.logsearch.configurer.SolrCollectionConfigurer;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.response.UpdateResponse;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrInputDocument;
 
-import org.apache.log4j.Logger;
 import org.springframework.data.solr.core.SolrTemplate;
 
 @Named
 public class EventHistorySolrDao extends SolrDaoBase {
 
-  private static final Logger LOG = Logger.getLogger(EventHistorySolrDao.class);
+  private static final Logger logger = LogManager.getLogger(EventHistorySolrDao.class);
 
-  private static final Logger LOG_PERFORMANCE = Logger.getLogger("org.apache.ambari.logsearch.performance");
+  private static final Logger LOG_PERFORMANCE = LogManager.getLogger("org.apache.ambari.logsearch.performance");
 
   @Inject
   private SolrEventHistoryPropsConfig solrEventHistoryPropsConfig;
@@ -83,7 +84,7 @@ public class EventHistorySolrDao extends SolrDaoBase {
     try {
       new SolrCollectionConfigurer(this, false, solrClientsHolder, SolrClientsHolder.CollectionType.HISTORY).start();
     } catch (Exception e) {
-      LOG.error("error while connecting to Solr for history logs : solrUrl=" + solrUrl + ", zkConnectString=" + zkConnectString +
+      logger.error("error while connecting to Solr for history logs : solrUrl=" + solrUrl + ", zkConnectString=" + zkConnectString +
           ", collection=" + collection, e);
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/RoleDao.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/RoleDao.java
index d6dbd91..bb8f589 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/RoleDao.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/RoleDao.java
@@ -25,8 +25,8 @@ import org.apache.ambari.logsearch.util.FileUtil;
 import org.apache.ambari.logsearch.util.JSONUtil;
 import org.apache.ambari.logsearch.web.model.Privilege;
 import org.apache.ambari.logsearch.web.model.Role;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.core.GrantedAuthority;
 
 import javax.annotation.PostConstruct;
@@ -47,7 +47,7 @@ import static java.util.Collections.singletonList;
 @Named
 public class RoleDao {
 
-  private static final Logger LOG = LoggerFactory.getLogger(RoleDao.class);
+  private static final Logger logger = LogManager.getLogger(RoleDao.class);
 
   @Inject
   private AuthPropsConfig authPropsConfig;
@@ -60,10 +60,10 @@ public class RoleDao {
     if (authPropsConfig.isFileAuthorization()) {
       try {
         String userRoleFileName = authPropsConfig.getRoleFile();
-        LOG.info("USER ROLE JSON file NAME:" + userRoleFileName);
+        logger.info("USER ROLE JSON file NAME:" + userRoleFileName);
         File jsonFile = FileUtil.getFileFromClasspath(userRoleFileName);
         if (jsonFile == null || !jsonFile.exists()) {
-          LOG.error("Role json file not found on the classpath :" + userRoleFileName);
+          logger.error("Role json file not found on the classpath :" + userRoleFileName);
           System.exit(1);
         }
         Map<String, Object> userRoleInfo = JSONUtil.readJsonFromFile(jsonFile);
@@ -72,10 +72,10 @@ public class RoleDao {
           simpleRolesMap.put(roleEntry.getKey(), (List<String>) roleEntry.getValue());
         }
       } catch (Exception e) {
-        LOG.error("Error while reading user role file: {}", e.getMessage());
+        logger.error("Error while reading user role file: {}", e.getMessage());
       }
     } else {
-      LOG.info("File authorization is disabled");
+      logger.info("File authorization is disabled");
     }
   }
 
@@ -86,11 +86,11 @@ public class RoleDao {
         if (!Collections.isEmpty(roles)) {
           for (String role : roles) {
             String roleName = "ROLE_" + role;
-            LOG.debug("Found role '{}' for user '{}'", roleName, user);
+            logger.debug("Found role '{}' for user '{}'", roleName, user);
             authorities.add(createRoleWithReadPrivilage(roleName));
           }
         } else {
-          LOG.warn("Not found roles for user '{}'", user);
+          logger.warn("Not found roles for user '{}'", user);
         }
       return authorities;
     } else {
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java
index 4fbe534..da05c84 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java
@@ -29,13 +29,14 @@ import org.apache.ambari.logsearch.conf.SolrPropsConfig;
 import org.apache.ambari.logsearch.conf.SolrServiceLogPropsConfig;
 import org.apache.ambari.logsearch.conf.global.SolrCollectionState;
 import org.apache.ambari.logsearch.configurer.SolrCollectionConfigurer;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.data.solr.core.SolrTemplate;
 
 @Named
 public class ServiceLogsSolrDao extends SolrDaoBase {
 
-  private static final Logger LOG = Logger.getLogger(ServiceLogsSolrDao.class);
+  private static final Logger logger = LogManager.getLogger(ServiceLogsSolrDao.class);
 
   @Inject
   private SolrServiceLogPropsConfig solrServiceLogPropsConfig;
@@ -65,11 +66,11 @@ public class ServiceLogsSolrDao extends SolrDaoBase {
 
   @PostConstruct
   public void postConstructor() {
-    LOG.info("postConstructor() called.");
+    logger.info("postConstructor() called.");
     try {
       new SolrCollectionConfigurer(this, true, solrClientsHolder, SolrClientsHolder.CollectionType.HISTORY).start();
     } catch (Exception e) {
-      LOG.error("error while connecting to Solr for service logs : solrUrl=" + solrServiceLogPropsConfig.getSolrUrl()
+      logger.error("error while connecting to Solr for service logs : solrUrl=" + solrServiceLogPropsConfig.getSolrUrl()
         + ", zkConnectString=" + solrServiceLogPropsConfig.getZkConnectString()
         + ", collection=" + solrServiceLogPropsConfig.getCollection(), e);
     }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java
index f11f7d9..acf1685 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java
@@ -36,7 +36,8 @@ import org.apache.ambari.logsearch.conf.global.SolrCollectionState;
 import org.apache.ambari.logsearch.config.api.LogSearchConfigServer;
 import org.apache.ambari.logsearch.configurer.LogSearchConfigConfigurer;
 import org.apache.ambari.logsearch.util.SolrUtil;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrRequest.METHOD;
 import org.apache.solr.client.solrj.SolrServerException;
@@ -51,8 +52,8 @@ import org.springframework.data.solr.core.query.SolrDataQuery;
 
 public abstract class SolrDaoBase {
 
-  private static final Logger LOG = Logger.getLogger(SolrDaoBase.class);
-  private static final Logger LOG_PERFORMANCE = Logger.getLogger("org.apache.ambari.logsearch.performance");
+  private static final Logger logger = LogManager.getLogger(SolrDaoBase.class);
+  private static final Logger performanceLogger = LogManager.getLogger("org.apache.ambari.logsearch.performance");
 
   private LogType logType;
 
@@ -75,11 +76,11 @@ public abstract class SolrDaoBase {
   public void waitForLogSearchConfig() {
     if (logSearchConfigApiConfig.isConfigApiEnabled()) {
       while (!logSearchConfigState.isLogSearchConfigAvailable()) {
-        LOG.info("Log Search config not available yet, waiting...");
+        logger.info("Log Search config not available yet, waiting...");
         try {
           Thread.sleep(1000);
         } catch (Exception e) {
-          LOG.warn("Exception during waiting for Log Search Config", e);
+          logger.warn("Exception during waiting for Log Search Config", e);
         }
       }
     }
@@ -87,7 +88,7 @@ public abstract class SolrDaoBase {
 
   public QueryResponse process(SolrQuery solrQuery, String event) {
     SolrUtil.removeDoubleOrTripleEscapeFromFilters(solrQuery);
-    LOG.info("Solr query will be processed: " + solrQuery);
+    logger.info("Solr query will be processed: " + solrQuery);
     if (getSolrClient() != null) {
       event = event == null ? solrQuery.get("event") : event;
       solrQuery.remove("event");
@@ -105,7 +106,7 @@ public abstract class SolrDaoBase {
 
   private UpdateResponse deleteByQuery(SolrQuery solrQuery, String event) {
     SolrUtil.removeDoubleOrTripleEscapeFromFilters(solrQuery);
-    LOG.info("Solr delete query will be processed: " + solrQuery);
+    logger.info("Solr delete query will be processed: " + solrQuery);
     if (getSolrClient() != null) {
       try {
         UpdateResponse updateResponse = getSolrClient().deleteByQuery(solrQuery.getQuery());
@@ -138,7 +139,7 @@ public abstract class SolrDaoBase {
       solrQuery.setRows(0);
       QueryResponse queryResponse = solrClient.query(solrQuery);
       long count = solrClient.query(solrQuery).getResults().getNumFound();
-      LOG_PERFORMANCE.info("\n Username :- " + LogSearchContext.getCurrentUsername() + " Count SolrQuery :- " +
+      performanceLogger.info("\n Username :- " + LogSearchContext.getCurrentUsername() + " Count SolrQuery :- " +
         solrQuery + "\nQuery Time Execution :- " + queryResponse.getQTime() + " Total Time Elapsed is :- " +
         queryResponse.getElapsedTime() + " Count result :- " + count);
       return count;
@@ -151,7 +152,7 @@ public abstract class SolrDaoBase {
 
   private void logSolrEvent(String event, SolrQuery solrQuery, SolrResponseBase solrResponseBase) {
     if (event != null) {
-      LOG_PERFORMANCE.info("\n Username :- " + LogSearchContext.getCurrentUsername() + " Event :- " + event + " SolrQuery :- " +
+      performanceLogger.info("\n Username :- " + LogSearchContext.getCurrentUsername() + " Event :- " + event + " SolrQuery :- " +
         solrQuery + "\nQuery Time Execution :- " + solrResponseBase.getQTime() + " Total Time Elapsed is :- " +
         solrResponseBase.getElapsedTime());
     }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/SolrSchemaFieldDao.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/SolrSchemaFieldDao.java
index 5a36599..a58eb20 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/SolrSchemaFieldDao.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/SolrSchemaFieldDao.java
@@ -25,6 +25,8 @@ import org.apache.ambari.logsearch.conf.SolrEventHistoryPropsConfig;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
@@ -41,8 +43,6 @@ import org.apache.solr.common.cloud.ZkStateReader;
 import org.apache.solr.common.util.JavaBinCodec;
 import org.apache.solr.common.util.NamedList;
 import org.codehaus.jettison.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.scheduling.annotation.Scheduled;
 
 import java.io.IOException;
@@ -57,7 +57,7 @@ import javax.inject.Inject;
 
 public class SolrSchemaFieldDao {
 
-  private static final Logger LOG = LoggerFactory.getLogger(SolrSchemaFieldDao.class);
+  private static final Logger logger = LogManager.getLogger(SolrSchemaFieldDao.class);
 
   private static final int RETRY_SECOND = 30;
 
@@ -97,7 +97,7 @@ public class SolrSchemaFieldDao {
   private void populateSchemaFields(CloudSolrClient solrClient, Map<String, String> schemaFieldNameMap,
       Map<String, String> schemaFieldTypeMap) {
     if (solrClient != null) {
-      LOG.debug("Started thread to get fields for collection=" + solrClient.getDefaultCollection());
+      logger.debug("Started thread to get fields for collection=" + solrClient.getDefaultCollection());
       List<LukeResponse> lukeResponses = null;
       SchemaResponse schemaResponse = null;
       try {
@@ -108,22 +108,22 @@ public class SolrSchemaFieldDao {
         schemaRequest.setPath("/schema");
         schemaResponse = schemaRequest.process(solrClient);
         
-        LOG.debug("populateSchemaFields() collection=" + solrClient.getDefaultCollection() + ", luke=" + lukeResponses +
+        logger.debug("populateSchemaFields() collection=" + solrClient.getDefaultCollection() + ", luke=" + lukeResponses +
             ", schema= " + schemaResponse);
       } catch (SolrException | SolrServerException | IOException e) {
-        LOG.error("Error occured while popuplating field. collection=" + solrClient.getDefaultCollection(), e);
+        logger.error("Error occured while popuplating field. collection=" + solrClient.getDefaultCollection(), e);
       }
 
       if (schemaResponse != null) {
         extractSchemaFieldsName(lukeResponses, schemaResponse, schemaFieldNameMap, schemaFieldTypeMap);
-        LOG.debug("Populate fields for collection " + solrClient.getDefaultCollection()+ " was successful, next update it after " +
+        logger.debug("Populate fields for collection " + solrClient.getDefaultCollection()+ " was successful, next update it after " +
             solrEventHistoryPropsConfig.getPopulateIntervalMins() + " minutes");
         retryCount = 0;
         skipCount = (solrEventHistoryPropsConfig.getPopulateIntervalMins() * 60) / RETRY_SECOND - 1;
       }
       else {
         retryCount++;
-        LOG.error("Error while populating fields for collection " + solrClient.getDefaultCollection() + ", retryCount=" + retryCount);
+        logger.error("Error while populating fields for collection " + solrClient.getDefaultCollection() + ", retryCount=" + retryCount);
       }
     }
   }
@@ -147,7 +147,7 @@ public class SolrSchemaFieldDao {
           lukeResponse.setResponse(lukeData);
           lukeResponses.add(lukeResponse);
         } catch (IOException e) {
-          LOG.error("Exception during getting luke responses", e);
+          logger.error("Exception during getting luke responses", e);
         }
       }
     }
@@ -200,7 +200,7 @@ public class SolrSchemaFieldDao {
         schemaFieldTypeMap.putAll(_schemaFieldTypeMap);
       }
     } catch (Exception e) {
-      LOG.error(e + "Credentials not specified in logsearch.properties " + MessageEnums.ERROR_SYSTEM);
+      logger.error(e + "Credentials not specified in logsearch.properties " + MessageEnums.ERROR_SYSTEM);
     }
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
index df040d2..b61eb25 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
@@ -30,13 +30,14 @@ import org.apache.ambari.logsearch.util.FileUtil;
 import org.apache.ambari.logsearch.util.JSONUtil;
 import org.apache.ambari.logsearch.web.model.User;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Repository;
 
 @Repository
 public class UserDao {
-  private static final Logger logger = Logger.getLogger(UserDao.class);
+  private static final Logger logger = LogManager.getLogger(UserDao.class);
 
   private static final String USER_NAME = "username";
   private static final String PASSWORD = "password";
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ACLHandler.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ACLHandler.java
index fde176f..8bab62c 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ACLHandler.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ACLHandler.java
@@ -20,38 +20,38 @@ package org.apache.ambari.logsearch.handler;
 
 import org.apache.ambari.logsearch.conf.SolrPropsConfig;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.common.cloud.SolrZkClient;
 import org.apache.solr.common.cloud.SolrZooKeeper;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.data.ACL;
 import org.apache.zookeeper.data.Stat;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.List;
 
 public class ACLHandler implements SolrZkRequestHandler<Boolean> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(ACLHandler.class);
+  private static final Logger logger = LogManager.getLogger(ACLHandler.class);
 
   @Override
   public Boolean handle(CloudSolrClient solrClient, SolrPropsConfig solrPropsConfig) throws Exception {
     List<ACL> aclsToSetList = solrPropsConfig.getZkAcls();
     if (CollectionUtils.isNotEmpty(aclsToSetList)) {
-      LOG.info("Setting acls for '{}' collection...", solrPropsConfig.getCollection());
+      logger.info("Setting acls for '{}' collection...", solrPropsConfig.getCollection());
       SolrZkClient zkClient = solrClient.getZkStateReader().getZkClient();
       SolrZooKeeper solrZooKeeper = zkClient.getSolrZooKeeper();
       String collectionPath = String.format("/collections/%s", solrPropsConfig.getCollection());
       String configsPath = String.format("/configs/%s", solrPropsConfig.getConfigName());
       List<ACL> collectionAcls = solrZooKeeper.getACL(collectionPath, new Stat());
       if (isRefreshAclsNeeded(aclsToSetList, collectionAcls)) {
-        LOG.info("Acls differs for {}, update acls.", collectionPath);
+        logger.info("Acls differs for {}, update acls.", collectionPath);
         setRecursivelyOn(solrZooKeeper, collectionPath, aclsToSetList);
       }
       List<ACL> configsAcls = solrZooKeeper.getACL(configsPath, new Stat());
       if (isRefreshAclsNeeded(aclsToSetList, configsAcls)) {
-        LOG.info("Acls differs for {}, update acls.", configsPath);
+        logger.info("Acls differs for {}, update acls.", configsPath);
         setRecursivelyOn(solrZooKeeper, configsPath, aclsToSetList);
       }
     }
@@ -77,7 +77,7 @@ public class ACLHandler implements SolrZkRequestHandler<Boolean> {
       for (ACL newAcl : aclList2) {
         if (acl.getId() != null && acl.getId().getId().equals(newAcl.getId().getId())
           && acl.getPerms() != newAcl.getPerms()) {
-          LOG.info("ACL for '{}' differs: '{}' on znode, should be '{}'",
+          logger.info("ACL for '{}' differs: '{}' on znode, should be '{}'",
             acl.getId().getId(), acl.getPerms(), newAcl.getPerms());
           return true;
         }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/AbstractSolrConfigHandler.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/AbstractSolrConfigHandler.java
index f58b29d..dff06e3 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/AbstractSolrConfigHandler.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/AbstractSolrConfigHandler.java
@@ -25,16 +25,16 @@ import java.io.IOException;
 import java.nio.file.FileSystems;
 
 import org.apache.ambari.logsearch.conf.SolrPropsConfig;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.common.cloud.SolrZkClient;
 import org.apache.solr.common.cloud.ZkConfigManager;
 import org.apache.zookeeper.KeeperException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public abstract class AbstractSolrConfigHandler implements SolrZkRequestHandler<Boolean> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(AbstractSolrConfigHandler.class);
+  private static final Logger logger = LogManager.getLogger(AbstractSolrConfigHandler.class);
 
   private File configSetFolder;
 
@@ -87,7 +87,7 @@ public abstract class AbstractSolrConfigHandler implements SolrZkRequestHandler<
   }
 
   public boolean doIfConfigExists(SolrPropsConfig solrPropsConfig, SolrZkClient zkClient, String separator) throws IOException {
-    LOG.info("Config set exists for '{}' collection. Refreshing it if needed...", solrPropsConfig.getCollection());
+    logger.info("Config set exists for '{}' collection. Refreshing it if needed...", solrPropsConfig.getCollection());
     try {
       File[] listOfFiles = getConfigSetFolder().listFiles();
       if (listOfFiles == null)
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/CreateCollectionHandler.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/CreateCollectionHandler.java
index a13c27f..26dfc62 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/CreateCollectionHandler.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/CreateCollectionHandler.java
@@ -23,6 +23,8 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.impl.HttpClientUtil;
@@ -32,8 +34,6 @@ import org.apache.solr.common.cloud.DocCollection;
 import org.apache.solr.common.cloud.Replica;
 import org.apache.solr.common.cloud.Slice;
 import org.apache.solr.common.cloud.ZkStateReader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import javax.ws.rs.core.Response;
 import java.io.IOException;
@@ -46,7 +46,7 @@ import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.
 
 public class CreateCollectionHandler implements SolrZkRequestHandler<Boolean> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(CreateCollectionHandler.class);
+  private static final Logger logger = LogManager.getLogger(CreateCollectionHandler.class);
 
   private static final String MODIFY_COLLECTION_QUERY = "/admin/collections?action=MODIFYCOLLECTION&collection=%s&%s=%d";
   private static final String MAX_SHARDS_PER_NODE = "maxShardsPerNode";
@@ -71,7 +71,7 @@ public class CreateCollectionHandler implements SolrZkRequestHandler<Boolean> {
 
   private boolean setupCollectionsWithImplicitRouting(CloudSolrClient solrClient, SolrPropsConfig solrPropsConfig, List<String> allCollectionList)
     throws Exception {
-    LOG.info("setupCollectionsWithImplicitRouting(). collectionName=" + solrPropsConfig.getCollection()
+    logger.info("setupCollectionsWithImplicitRouting(). collectionName=" + solrPropsConfig.getCollection()
       + ", numberOfShards=" + solrPropsConfig.getNumberOfShards());
 
     // Default is true, because if the collection and shard is already there, then it will return true
@@ -85,7 +85,7 @@ public class CreateCollectionHandler implements SolrZkRequestHandler<Boolean> {
 
     // Check if collection is already in zookeeper
     if (!allCollectionList.contains(solrPropsConfig.getCollection())) {
-      LOG.info("Creating collection " + solrPropsConfig.getCollection() + ", shardsList=" + shardsList);
+      logger.info("Creating collection " + solrPropsConfig.getCollection() + ", shardsList=" + shardsList);
       CollectionAdminRequest.Create collectionCreateRequest = CollectionAdminRequest.createCollection(
           solrPropsConfig.getCollection(), solrPropsConfig.getConfigName(), solrPropsConfig.getNumberOfShards(),
           solrPropsConfig.getReplicationFactor());
@@ -97,13 +97,13 @@ public class CreateCollectionHandler implements SolrZkRequestHandler<Boolean> {
       CollectionAdminResponse createResponse = collectionCreateRequest.process(solrClient);
       if (createResponse.getStatus() != 0) {
         returnValue = false;
-        LOG.error("Error creating collection. collectionName=" + solrPropsConfig.getCollection()
+        logger.error("Error creating collection. collectionName=" + solrPropsConfig.getCollection()
           + ", shardsList=" + shardsList +", response=" + createResponse);
       } else {
-        LOG.info("Created collection " + solrPropsConfig.getCollection() + ", shardsList=" + shardsList);
+        logger.info("Created collection " + solrPropsConfig.getCollection() + ", shardsList=" + shardsList);
       }
     } else {
-      LOG.info("Collection " + solrPropsConfig.getCollection() + " is already there. Will check whether it has the required shards");
+      logger.info("Collection " + solrPropsConfig.getCollection() + " is already there. Will check whether it has the required shards");
       Collection<Slice> slices = getSlices(solrClient, solrPropsConfig);
       Collection<String> existingShards = getShards(slices, solrPropsConfig);
       if (existingShards.size() < shardsList.size()) {
@@ -111,25 +111,25 @@ public class CreateCollectionHandler implements SolrZkRequestHandler<Boolean> {
           updateMaximumNumberOfShardsPerCore(slices, solrPropsConfig);
         } catch (Throwable t) {
           returnValue = false;
-          LOG.error(String.format("Exception during updating collection (%s)", t));
+          logger.error(String.format("Exception during updating collection (%s)", t));
         }
       }
       for (String shard : shardsList) {
         if (!existingShards.contains(shard)) {
           try {
-            LOG.info("Going to add Shard " + shard + " to collection " + solrPropsConfig.getCollection());
+            logger.info("Going to add Shard " + shard + " to collection " + solrPropsConfig.getCollection());
             CollectionAdminRequest.CreateShard createShardRequest =
                 CollectionAdminRequest.createShard(solrPropsConfig.getCollection(), shard);
             CollectionAdminResponse response = createShardRequest.process(solrClient);
             if (response.getStatus() != 0) {
-              LOG.error("Error creating shard " + shard + " in collection " + solrPropsConfig.getCollection() + ", response=" + response);
+              logger.error("Error creating shard " + shard + " in collection " + solrPropsConfig.getCollection() + ", response=" + response);
               returnValue = false;
               break;
             } else {
-              LOG.info("Successfully created shard " + shard + " in collection " + solrPropsConfig.getCollection());
+              logger.info("Successfully created shard " + shard + " in collection " + solrPropsConfig.getCollection());
             }
           } catch (Throwable t) {
-            LOG.error("Error creating shard " + shard + " in collection " + solrPropsConfig.getCollection(), t);
+            logger.error("Error creating shard " + shard + " in collection " + solrPropsConfig.getCollection(), t);
             returnValue = false;
             break;
           }
@@ -143,11 +143,11 @@ public class CreateCollectionHandler implements SolrZkRequestHandler<Boolean> {
       throws SolrServerException, IOException {
 
     if (allCollectionList.contains(solrPropsConfig.getCollection())) {
-      LOG.info("Collection " + solrPropsConfig.getCollection() + " is already there. Won't create it");
+      logger.info("Collection " + solrPropsConfig.getCollection() + " is already there. Won't create it");
       return true;
     }
 
-    LOG.info("Creating collection " + solrPropsConfig.getCollection() + ", numberOfShards=" + solrPropsConfig.getNumberOfShards() +
+    logger.info("Creating collection " + solrPropsConfig.getCollection() + ", numberOfShards=" + solrPropsConfig.getNumberOfShards() +
       ", replicationFactor=" + solrPropsConfig.getReplicationFactor());
 
     CollectionAdminRequest.Create collectionCreateRequest = CollectionAdminRequest.createCollection(
@@ -156,10 +156,10 @@ public class CreateCollectionHandler implements SolrZkRequestHandler<Boolean> {
     collectionCreateRequest.setMaxShardsPerNode(calculateMaxShardsPerNode(solrPropsConfig));
     CollectionAdminResponse createResponse = collectionCreateRequest.process(solrClient);
     if (createResponse.getStatus() != 0) {
-      LOG.error("Error creating collection. collectionName=" + solrPropsConfig.getCollection() + ", response=" + createResponse);
+      logger.error("Error creating collection. collectionName=" + solrPropsConfig.getCollection() + ", response=" + createResponse);
       return false;
     } else {
-      LOG.info("Created collection " + solrPropsConfig.getCollection() + ", numberOfShards=" + solrPropsConfig.getNumberOfShards() +
+      logger.info("Created collection " + solrPropsConfig.getCollection() + ", numberOfShards=" + solrPropsConfig.getNumberOfShards() +
         ", replicationFactor=" + solrPropsConfig.getReplicationFactor());
       return true;
     }
@@ -190,7 +190,7 @@ public class CreateCollectionHandler implements SolrZkRequestHandler<Boolean> {
     Collection<String> list = new HashSet<>();
     for (Slice slice : slices) {
       for (Replica replica : slice.getReplicas()) {
-        LOG.info("colName=" + solrPropsConfig.getCollection() + ", slice.name=" + slice.getName() + ", slice.state=" + slice.getState() +
+        logger.info("colName=" + solrPropsConfig.getCollection() + ", slice.name=" + slice.getName() + ", slice.state=" + slice.getState() +
           ", replica.core=" + replica.getStr("core") + ", replica.state=" + replica.getStr("state"));
         list.add(slice.getName());
       }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ListCollectionHandler.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ListCollectionHandler.java
index b2c8e4f..80d6685 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ListCollectionHandler.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ListCollectionHandler.java
@@ -19,19 +19,19 @@
 package org.apache.ambari.logsearch.handler;
 
 import org.apache.ambari.logsearch.conf.SolrPropsConfig;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.request.CollectionAdminRequest;
 import org.apache.solr.client.solrj.response.CollectionAdminResponse;
 import org.apache.solr.common.SolrException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class ListCollectionHandler implements SolrZkRequestHandler<List<String>> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(ListCollectionHandler.class);
+  private static final Logger logger = LogManager.getLogger(ListCollectionHandler.class);
 
   @SuppressWarnings("unchecked")
   @Override
@@ -40,12 +40,12 @@ public class ListCollectionHandler implements SolrZkRequestHandler<List<String>>
       CollectionAdminRequest.List colListReq = new CollectionAdminRequest.List();
       CollectionAdminResponse response = colListReq.process(solrClient);
       if (response.getStatus() != 0) {
-        LOG.error("Error getting collection list from solr.  response=" + response);
+        logger.error("Error getting collection list from solr.  response=" + response);
         return null;
       }
       return (List<String>) response.getResponse().get("collections");
     } catch (SolrException e) {
-      LOG.error("getCollections() operation failed", e);
+      logger.error("getCollections() operation failed", e);
       return new ArrayList<>();
     }
   }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ReloadCollectionHandler.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ReloadCollectionHandler.java
index 601bdba..7659ce0 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ReloadCollectionHandler.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/ReloadCollectionHandler.java
@@ -19,25 +19,25 @@
 package org.apache.ambari.logsearch.handler;
 
 import org.apache.ambari.logsearch.conf.SolrPropsConfig;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.request.CollectionAdminRequest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class ReloadCollectionHandler implements SolrZkRequestHandler<Boolean> {
 
-  private static final Logger LOG = LoggerFactory.getLogger(ReloadCollectionHandler.class);
+  private static final Logger logger = LogManager.getLogger(ReloadCollectionHandler.class);
 
   @Override
   public Boolean handle(CloudSolrClient solrClient, SolrPropsConfig solrPropsConfig) throws Exception {
     boolean result = false;
     try {
-      LOG.info("Reload collection - '{}'", solrPropsConfig.getCollection());
+      logger.info("Reload collection - '{}'", solrPropsConfig.getCollection());
       CollectionAdminRequest.Reload request = CollectionAdminRequest.reloadCollection(solrPropsConfig.getCollection());
       request.process(solrClient);
       result = true;
     } catch (Exception e) {
-      LOG.error(String.format("Reload collection ('%s') failed.", solrPropsConfig.getCollection()), e);
+      logger.error(String.format("Reload collection ('%s') failed.", solrPropsConfig.getCollection()), e);
     }
     return result;
   }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/UploadConfigurationHandler.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/UploadConfigurationHandler.java
index 2a7590c..b42376d 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/UploadConfigurationHandler.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/handler/UploadConfigurationHandler.java
@@ -29,15 +29,15 @@ import java.util.Arrays;
 import org.apache.ambari.logsearch.conf.SolrPropsConfig;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.common.cloud.SolrZkClient;
 import org.apache.solr.common.cloud.ZkConfigManager;
 import org.apache.zookeeper.CreateMode;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class UploadConfigurationHandler extends AbstractSolrConfigHandler {
 
-  private static final Logger LOG = LoggerFactory.getLogger(UploadConfigurationHandler.class);
+  private static final Logger logger = LogManager.getLogger(UploadConfigurationHandler.class);
 
   private static final String SOLR_CONFIG_FILE = "solrconfig.xml";
   private static final String[] configFiles = {
@@ -57,7 +57,7 @@ public class UploadConfigurationHandler extends AbstractSolrConfigHandler {
     if (Arrays.equals(FileUtils.readFileToByteArray(file), content))
       return false;
 
-    LOG.info("Solr config file differs ('{}'), upload config set to zookeeper", file.getName());
+    logger.info("Solr config file differs ('{}'), upload config set to zookeeper", file.getName());
     ZkConfigManager zkConfigManager = new ZkConfigManager(zkClient);
     zkConfigManager.uploadConfigDir(getConfigSetFolder().toPath(), solrPropsConfig.getConfigName());
     String filePath = String.format("%s%s%s", getConfigSetFolder(), separator, getConfigFileName());
@@ -68,7 +68,7 @@ public class UploadConfigurationHandler extends AbstractSolrConfigHandler {
 
   @Override
   public void doIfConfigNotExist(SolrPropsConfig solrPropsConfig, ZkConfigManager zkConfigManager) throws IOException {
-    LOG.info("Config set does not exist for '{}' collection. Uploading it to zookeeper...", solrPropsConfig.getCollection());
+    logger.info("Config set does not exist for '{}' collection. Uploading it to zookeeper...", solrPropsConfig.getCollection());
     File[] listOfFiles = getConfigSetFolder().listFiles();
     if (listOfFiles != null) {
       zkConfigManager.uploadConfigDir(getConfigSetFolder().toPath(), solrPropsConfig.getConfigName());
@@ -82,17 +82,17 @@ public class UploadConfigurationHandler extends AbstractSolrConfigHandler {
 
   @Override
   public void uploadMissingConfigFiles(SolrZkClient zkClient, ZkConfigManager zkConfigManager, String configName) throws IOException {
-    LOG.info("Check any of the configs files are missing for config ({})", configName);
+    logger.info("Check any of the configs files are missing for config ({})", configName);
     for (String configFile : configFiles) {
       if ("enumsConfig.xml".equals(configFile) && !hasEnumConfig) {
-        LOG.info("Config file ({}) is not needed for {}", configFile, configName);
+        logger.info("Config file ({}) is not needed for {}", configFile, configName);
         continue;
       }
       String zkPath = String.format("%s/%s", configName, configFile);
       if (zkConfigManager.configExists(zkPath)) {
-        LOG.info("Config file ({}) has already uploaded properly.", configFile);
+        logger.info("Config file ({}) has already uploaded properly.", configFile);
       } else {
-        LOG.info("Config file ({}) is missing. Reupload...", configFile);
+        logger.info("Config file ({}) is missing. Reupload...", configFile);
         FileSystems.getDefault().getSeparator();
         uploadFileToZk(zkClient,
           String.format("%s%s%s", getConfigSetFolder(), FileSystems.getDefault().getSeparator(), configFile),
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
index 97bda3a..8fe9bcb 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
@@ -62,7 +62,8 @@ import org.apache.ambari.logsearch.solr.model.SolrComponentTypeLogData;
 import org.apache.ambari.logsearch.util.DownloadUtil;
 import org.apache.ambari.logsearch.util.SolrUtil;
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.response.FacetField.Count;
 import org.apache.solr.client.solrj.response.QueryResponse;
@@ -77,7 +78,7 @@ import freemarker.template.TemplateException;
 
 @Named
 public class AuditLogsManager extends ManagerBase<AuditLogData, AuditLogResponse> {
-  private static final Logger logger = Logger.getLogger(AuditLogsManager.class);
+  private static final Logger logger = LogManager.getLogger(AuditLogsManager.class);
 
   private static final String AUDIT_LOG_TEMPLATE = "audit_log_txt.ftl";
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/EventHistoryManager.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/EventHistoryManager.java
index 0782ea2..fda9b1a 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/EventHistoryManager.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/EventHistoryManager.java
@@ -19,13 +19,11 @@
 
 package org.apache.ambari.logsearch.manager;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
 import org.apache.ambari.logsearch.common.LogSearchContext;
-import org.apache.ambari.logsearch.common.MessageEnums;
 import org.apache.ambari.logsearch.dao.EventHistorySolrDao;
 import org.apache.ambari.logsearch.model.request.impl.EventHistoryRequest;
 import org.apache.ambari.logsearch.model.response.EventHistoryData;
@@ -33,9 +31,9 @@ import org.apache.ambari.logsearch.model.response.EventHistoryDataListResponse;
 import org.apache.ambari.logsearch.util.SolrUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrQuery;
-import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.response.FacetField.Count;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.SolrDocument;
@@ -57,7 +55,7 @@ import static org.apache.ambari.logsearch.solr.SolrConstants.EventHistoryConstan
 @Named
 public class EventHistoryManager extends JsonManagerBase {
 
-  private static final Logger logger = Logger.getLogger(EventHistoryManager.class);
+  private static final Logger logger = LogManager.getLogger(EventHistoryManager.class);
 
   @Inject
   private EventHistorySolrDao eventHistorySolrDao;
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ManagerBase.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ManagerBase.java
index 9ae1961..68a3b9c 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ManagerBase.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ManagerBase.java
@@ -30,7 +30,8 @@ import org.apache.ambari.logsearch.model.response.LogSearchResponse;
 import org.apache.ambari.logsearch.dao.SolrDaoBase;
 import org.apache.ambari.logsearch.util.SolrUtil;
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.response.FacetField;
 import org.apache.solr.client.solrj.response.QueryResponse;
@@ -40,7 +41,7 @@ import org.springframework.data.solr.core.query.SimpleQuery;
 import org.springframework.data.solr.core.query.SolrDataQuery;
 
 public abstract class ManagerBase<LOG_DATA_TYPE extends LogData, SEARCH_RESPONSE extends LogSearchResponse<LOG_DATA_TYPE>> extends JsonManagerBase {
-  private static final Logger logger = Logger.getLogger(ManagerBase.class);
+  private static final Logger logger = LogManager.getLogger(ManagerBase.class);
 
   public ManagerBase() {
     super();
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ServiceLogsManager.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ServiceLogsManager.java
index 3658257..57b33bd 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ServiceLogsManager.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ServiceLogsManager.java
@@ -91,7 +91,8 @@ import org.apache.ambari.logsearch.util.DownloadUtil;
 import org.apache.ambari.logsearch.util.SolrUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.response.FacetField;
 import org.apache.solr.client.solrj.response.FacetField.Count;
@@ -116,7 +117,7 @@ import freemarker.template.TemplateException;
 
 @Named
 public class ServiceLogsManager extends ManagerBase<ServiceLogData, ServiceLogResponse> {
-  private static final Logger logger = Logger.getLogger(ServiceLogsManager.class);
+  private static final Logger logger = LogManager.getLogger(ServiceLogsManager.class);
 
   private static final String SERVICE_LOG_TEMPLATE = "service_log_txt.ftl";
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/SessionManager.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/SessionManager.java
index e8b699e..b2cd2bf 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/SessionManager.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/SessionManager.java
@@ -20,7 +20,8 @@ package org.apache.ambari.logsearch.manager;
 
 import org.apache.ambari.logsearch.common.LogSearchContext;
 import org.apache.ambari.logsearch.web.model.User;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.web.authentication.WebAuthenticationDetails;
@@ -30,7 +31,7 @@ import javax.inject.Named;
 @Named
 public class SessionManager {
 
-  private static final Logger logger = Logger.getLogger(SessionManager.class);
+  private static final Logger logger = LogManager.getLogger(SessionManager.class);
 
   public SessionManager() {
     logger.debug("SessionManager created");
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ShipperConfigManager.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ShipperConfigManager.java
index 6119bb2..558dfd8 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ShipperConfigManager.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/ShipperConfigManager.java
@@ -30,10 +30,11 @@ import org.apache.ambari.logsearch.configurer.LogSearchConfigConfigurer;
 import org.apache.ambari.logsearch.configurer.LogLevelManagerFilterConfigurer;
 import org.apache.ambari.logsearch.model.common.LSServerInputConfig;
 import org.apache.ambari.logsearch.model.common.LSServerLogLevelFilterMap;
-import org.apache.log4j.Logger;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.ImmutableMap;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -46,7 +47,7 @@ import javax.ws.rs.core.Response;
 @Named
 public class ShipperConfigManager extends JsonManagerBase {
 
-  private static final Logger logger = Logger.getLogger(ShipperConfigManager.class);
+  private static final Logger logger = LogManager.getLogger(ShipperConfigManager.class);
 
   @Inject
   private LogSearchConfigApiConfig logSearchConfigApiConfig;
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/service/UserService.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/service/UserService.java
index ba4431d..86271ce 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/service/UserService.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/service/UserService.java
@@ -18,19 +18,19 @@
  */
 package org.apache.ambari.logsearch.service;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import org.springframework.stereotype.Service;
 import org.apache.ambari.logsearch.dao.UserDao;
 import org.apache.ambari.logsearch.web.model.User;
-import org.apache.log4j.Logger;
 
 import javax.inject.Inject;
 
-
 @Service
 public class UserService implements UserDetailsService {
-  private static final Logger logger = Logger.getLogger(UserService.class);
+  private static final Logger logger = LogManager.getLogger(UserService.class);
 
   @Inject
   private UserDao userDao;
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/FileUtil.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/FileUtil.java
index 5d4efbc..678d338 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/FileUtil.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/FileUtil.java
@@ -22,13 +22,14 @@ package org.apache.ambari.logsearch.util;
 import java.io.File;
 import java.net.URL;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.taskdefs.Chmod;
 import org.apache.tools.ant.types.FileSet;
 
 public class FileUtil {
-  private static final Logger logger = Logger.getLogger(FileUtil.class);
+  private static final Logger logger = LogManager.getLogger(FileUtil.class);
 
   private FileUtil() {
     throw new UnsupportedOperationException();
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java
index 5ea6dd2..190f4dc 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java
@@ -29,7 +29,8 @@ import java.util.List;
 
 import org.apache.ambari.logsearch.manager.MalformedInputException;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONObject;
 
@@ -42,7 +43,7 @@ import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
 public class JSONUtil {
-  private static final Logger logger = Logger.getLogger(JSONUtil.class);
+  private static final Logger logger = LogManager.getLogger(JSONUtil.class);
 
   private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
   private static final Gson gson = new GsonBuilder().setDateFormat(DATE_FORMAT).create();
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchAuthFailureHandler.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchAuthFailureHandler.java
index fdec8d3..adade5b 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchAuthFailureHandler.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchAuthFailureHandler.java
@@ -24,12 +24,13 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.web.authentication.ExceptionMappingAuthenticationFailureHandler;
 
 public class LogsearchAuthFailureHandler extends ExceptionMappingAuthenticationFailureHandler {
-  private static final Logger logger = Logger.getLogger(LogsearchAuthFailureHandler.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchAuthFailureHandler.class);
 
   public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception)
       throws IOException, ServletException {
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchLogoutSuccessHandler.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchLogoutSuccessHandler.java
index 2439828..2d6edd2 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchLogoutSuccessHandler.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchLogoutSuccessHandler.java
@@ -24,13 +24,14 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
 import org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler;
 
 public class LogsearchLogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler implements LogoutSuccessHandler {
-    private static final Logger logger = Logger.getLogger(LogsearchLogoutSuccessHandler.class);
+    private static final Logger logger = LogManager.getLogger(LogsearchLogoutSuccessHandler.class);
 
     @Override
     public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchAuthenticationEntryPoint.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchAuthenticationEntryPoint.java
index a328ace..f700bde 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchAuthenticationEntryPoint.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchAuthenticationEntryPoint.java
@@ -25,13 +25,13 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.ambari.logsearch.conf.AuthPropsConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint;
 
 public class LogsearchAuthenticationEntryPoint extends LoginUrlAuthenticationEntryPoint {
-  private static final Logger logger = LoggerFactory.getLogger(LogsearchAuthenticationEntryPoint.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchAuthenticationEntryPoint.class);
   private final AuthPropsConfig authPropsConfig;
 
   public LogsearchAuthenticationEntryPoint(String loginFormUrl, AuthPropsConfig authPropsConfig) {
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchFilter.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchFilter.java
index 98e02b3..c258dc5 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchFilter.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchFilter.java
@@ -32,13 +32,13 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.ambari.logsearch.common.StatusMessage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.web.util.matcher.RequestMatcher;
 
 public class LogsearchFilter implements Filter {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogsearchFilter.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchFilter.class);
 
   private final RequestMatcher requestMatcher;
   private final StatusProvider statusProvider;
@@ -62,7 +62,7 @@ public class LogsearchFilter implements Filter {
     if (requestMatcher.matches(request)) {
       StatusMessage errorResponse = statusProvider.getStatusMessage(request.getRequestURI());
       if (errorResponse != null) {
-        LOG.info("{} request is filtered out: {}", request.getRequestURL(), errorResponse.getMessage());
+        logger.info("{} request is filtered out: {}", request.getRequestURL(), errorResponse.getMessage());
         HttpServletResponse resp = (HttpServletResponse) servletResponse;
         resp.setStatus(errorResponse.getStatusCode());
         resp.setContentType("application/json");
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKRBAuthenticationFilter.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKRBAuthenticationFilter.java
index 7096780..bcb21eb 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKRBAuthenticationFilter.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKRBAuthenticationFilter.java
@@ -43,8 +43,8 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.ambari.logsearch.conf.LogSearchSpnegoConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.authentication.AbstractAuthenticationToken;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -66,9 +66,8 @@ import org.springframework.security.web.authentication.WebAuthenticationDetails;
 import org.springframework.security.web.util.matcher.NegatedRequestMatcher;
 import org.springframework.security.web.util.matcher.RequestMatcher;
 
-
 public class LogsearchKRBAuthenticationFilter extends LogsearchKrbFilter {
-  private static final Logger logger = LoggerFactory.getLogger(LogsearchKRBAuthenticationFilter.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchKRBAuthenticationFilter.class);
 
   @Inject
   private LogSearchSpnegoConfig logSearchSpnegoConfig;
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKrbFilter.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKrbFilter.java
index 3677d11..3443c6b 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKrbFilter.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchKrbFilter.java
@@ -27,8 +27,8 @@ import org.apache.hadoop.security.authentication.server.AuthenticationToken;
 import org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler;
 import org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler;
 import org.apache.hadoop.security.authentication.util.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
@@ -51,7 +51,7 @@ import static org.apache.ambari.logsearch.common.LogSearchConstants.LOGSEARCH_SE
 
 public class LogsearchKrbFilter implements Filter {
 
-  private static Logger logger = LoggerFactory.getLogger(LogsearchKrbFilter.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchKrbFilter.class);
 
   /**
    * Constant for the property that specifies the configuration prefix.
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchSecurityContextFormationFilter.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchSecurityContextFormationFilter.java
index b2cf041..2f3583e 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchSecurityContextFormationFilter.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchSecurityContextFormationFilter.java
@@ -34,7 +34,8 @@ import javax.servlet.http.HttpSession;
 import org.apache.ambari.logsearch.common.LogSearchContext;
 import org.apache.ambari.logsearch.manager.SessionManager;
 import org.apache.ambari.logsearch.web.model.User;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.authentication.AnonymousAuthenticationToken;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
@@ -42,7 +43,7 @@ import org.springframework.web.filter.GenericFilterBean;
 
 public class LogsearchSecurityContextFormationFilter extends GenericFilterBean {
 
-  static Logger logger = Logger.getLogger(LogsearchSecurityContextFormationFilter.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchSecurityContextFormationFilter.class);
 
   public static final String LOGSEARCH_SC_SESSION_KEY = "LOGSEARCH_SECURITY_CONTEXT";
   public static final String USER_AGENT = "User-Agent";
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchTrustedProxyFilter.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchTrustedProxyFilter.java
index 0737ee0..33cfee3 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchTrustedProxyFilter.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchTrustedProxyFilter.java
@@ -21,8 +21,8 @@ package org.apache.ambari.logsearch.web.filters;
 import org.apache.ambari.logsearch.conf.AuthPropsConfig;
 import org.apache.ambari.logsearch.dao.RoleDao;
 import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.authentication.AbstractAuthenticationToken;
 import org.springframework.security.authentication.AnonymousAuthenticationToken;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -57,7 +57,7 @@ import java.util.List;
  */
 public class LogsearchTrustedProxyFilter extends AbstractAuthenticationProcessingFilter {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogsearchTrustedProxyFilter.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchTrustedProxyFilter.class);
 
   private static final String TRUSTED_PROXY_KNOX_HEADER = "X-Forwarded-For";
 
@@ -73,11 +73,11 @@ public class LogsearchTrustedProxyFilter extends AbstractAuthenticationProcessin
     String doAsUserName = request.getParameter("doAs");
     final List<GrantedAuthority> authorities = RoleDao.createDefaultAuthorities();
     final UserDetails principal = new User(doAsUserName, "", authorities);
-    final Authentication finalAuthentication = new UsernamePasswordAuthenticationToken(principal, "", authorities);
+    final AbstractAuthenticationToken finalAuthentication = new UsernamePasswordAuthenticationToken(principal, "", authorities);
     WebAuthenticationDetails webDetails = new WebAuthenticationDetails(request);
-    ((AbstractAuthenticationToken) finalAuthentication).setDetails(webDetails);
+    finalAuthentication.setDetails(webDetails);
     SecurityContextHolder.getContext().setAuthentication(finalAuthentication);
-    LOG.info("Logged into Log Search User as doAsUser = {}", doAsUserName);
+    logger.info("Logged into Log Search User as doAsUser = {}", doAsUserName);
     return finalAuthentication;
   }
 
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchUsernamePasswordAuthenticationFilter.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchUsernamePasswordAuthenticationFilter.java
index e20c0fa..04dd671 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchUsernamePasswordAuthenticationFilter.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/filters/LogsearchUsernamePasswordAuthenticationFilter.java
@@ -24,13 +24,14 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.web.authentication.RememberMeServices;
 import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
 
 public class LogsearchUsernamePasswordAuthenticationFilter extends UsernamePasswordAuthenticationFilter {
-  private static final Logger logger = Logger.getLogger(LogsearchUsernamePasswordAuthenticationFilter.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchUsernamePasswordAuthenticationFilter.class);
 
   public void setRememberMeServices(RememberMeServices rememberMeServices) {
     super.setRememberMeServices(rememberMeServices);
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/listener/LogSearchSessionListener.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/listener/LogSearchSessionListener.java
index 55101db..0e0df28 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/listener/LogSearchSessionListener.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/listener/LogSearchSessionListener.java
@@ -18,15 +18,15 @@
  */
 package org.apache.ambari.logsearch.web.listener;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import javax.servlet.http.HttpSessionEvent;
 import javax.servlet.http.HttpSessionListener;
 
 public class LogSearchSessionListener implements HttpSessionListener {
 
-  private Logger LOG = LoggerFactory.getLogger(LogSearchSessionListener.class);
+  private Logger logger = LogManager.getLogger(LogSearchSessionListener.class);
 
   private int numberOfSessions = 0;
 
@@ -35,7 +35,7 @@ public class LogSearchSessionListener implements HttpSessionListener {
     synchronized (this) {
       numberOfSessions++;
     }
-    LOG.info(String.format("New session is created (Id: %s). Number of sessions: %d", event.getSession().getId(), numberOfSessions));
+    logger.info(String.format("New session is created (Id: %s). Number of sessions: %d", event.getSession().getId(), numberOfSessions));
   }
 
   @Override
@@ -43,6 +43,6 @@ public class LogSearchSessionListener implements HttpSessionListener {
     synchronized (this) {
       numberOfSessions--;
     }
-    LOG.info(String.format("Session destroyed (Id: %s). Number of sessions: %d", event.getSession().getId(), numberOfSessions));
+    logger.info(String.format("Session destroyed (Id: %s). Number of sessions: %d", event.getSession().getId(), numberOfSessions));
   }
 }
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
index 6682b5c..a52a887 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
@@ -25,8 +25,9 @@ import javax.inject.Inject;
 import javax.inject.Named;
 
 import org.apache.ambari.logsearch.util.JSONUtil;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.AuthenticationException;
@@ -34,8 +35,8 @@ import org.springframework.security.web.authentication.WebAuthenticationDetails;
 
 @Named
 public class LogsearchAuthenticationProvider extends LogsearchAbstractAuthenticationProvider {
-  private static final Logger logger = Logger .getLogger(LogsearchAuthenticationProvider.class);
-  private static final Logger auditLogger = Logger.getLogger("org.apache.ambari.logsearch.audit");
+  private static final Logger logger = LogManager.getLogger(LogsearchAuthenticationProvider.class);
+  private static final Logger auditLogger = LogManager.getLogger("org.apache.ambari.logsearch.audit");
 
   @Inject
   private LogsearchFileAuthenticationProvider fileAuthenticationProvider;
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchExternalServerAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchExternalServerAuthenticationProvider.java
index 4449da1..c4c64b0 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchExternalServerAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchExternalServerAuthenticationProvider.java
@@ -29,7 +29,8 @@ import org.apache.ambari.logsearch.conf.AuthPropsConfig;
 import org.apache.ambari.logsearch.util.JSONUtil;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
@@ -43,7 +44,7 @@ import org.springframework.security.core.AuthenticationException;
 @Named
 public class LogsearchExternalServerAuthenticationProvider extends LogsearchAbstractAuthenticationProvider {
 
-  private static Logger LOG = Logger.getLogger(LogsearchExternalServerAuthenticationProvider.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchExternalServerAuthenticationProvider.class);
 
   private static enum PrivilegeInfo {
     PERMISSION_LABEL("permission_label"),
@@ -81,7 +82,7 @@ public class LogsearchExternalServerAuthenticationProvider extends LogsearchAbst
   @Override
   public Authentication authenticate(Authentication authentication) throws AuthenticationException {
     if (!authPropsConfig.isAuthExternalEnabled()) {
-      LOG.debug("external server auth is disabled.");
+      logger.debug("external server auth is disabled.");
       return authentication;
     }
     
@@ -100,11 +101,11 @@ public class LogsearchExternalServerAuthenticationProvider extends LogsearchAbst
       String finalLoginUrl = authPropsConfig.getExternalAuthLoginUrl().replace("$USERNAME", username);
       String responseObj = (String) externalServerClient.sendGETRequest(finalLoginUrl, String.class, username, password);
       if (!isAllowedRole(responseObj)) {
-        LOG.error(username + " doesn't have permission");
+        logger.error(username + " doesn't have permission");
         throw new BadCredentialsException("Invalid User");
       }
     } catch (Exception e) {
-      LOG.error("Login failed for username :" + username + " Error :" + e.getLocalizedMessage());
+      logger.error("Login failed for username :" + username + " Error :" + e.getLocalizedMessage());
       throw new BadCredentialsException("Bad credentials");
     }
     authentication = new UsernamePasswordAuthenticationToken(username, password, getAuthorities());
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
index 7c375d2..0b759ba 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
@@ -24,7 +24,8 @@ import com.google.common.annotations.VisibleForTesting;
 import org.apache.ambari.logsearch.conf.AuthPropsConfig;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
@@ -40,7 +41,7 @@ import javax.inject.Named;
 @Named
 public class LogsearchFileAuthenticationProvider extends LogsearchAbstractAuthenticationProvider {
 
-  private static final Logger logger = Logger.getLogger(LogsearchFileAuthenticationProvider.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchFileAuthenticationProvider.class);
 
   @Inject
   private AuthPropsConfig authPropsConfig;
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchLdapAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchLdapAuthenticationProvider.java
index 5cf81db..55912cc 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchLdapAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchLdapAuthenticationProvider.java
@@ -21,8 +21,8 @@ package org.apache.ambari.logsearch.web.security;
 import org.apache.ambari.logsearch.conf.AuthPropsConfig;
 import org.apache.ambari.logsearch.dao.RoleDao;
 import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.AuthenticationException;
@@ -36,7 +36,7 @@ import java.util.Collection;
 
 public class LogsearchLdapAuthenticationProvider extends LdapAuthenticationProvider {
 
-  private static final Logger LOG = LoggerFactory.getLogger(LogsearchLdapAuthenticationProvider.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchLdapAuthenticationProvider.class);
 
   @Inject
   private AuthPropsConfig authPropsConfig;
@@ -48,7 +48,7 @@ public class LogsearchLdapAuthenticationProvider extends LdapAuthenticationProvi
   @Override
   public Authentication authenticate(Authentication authentication) throws AuthenticationException {
     if (!authPropsConfig.isAuthLdapEnabled()) {
-      LOG.debug("LDAP auth is disabled.");
+      logger.debug("LDAP auth is disabled.");
       return authentication;
     }
     authentication = super.authenticate(authentication);
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchSimpleAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchSimpleAuthenticationProvider.java
index 3506264..e5c13f9 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchSimpleAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchSimpleAuthenticationProvider.java
@@ -22,7 +22,8 @@ import org.apache.ambari.logsearch.conf.AuthPropsConfig;
 import org.apache.ambari.logsearch.web.model.User;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
@@ -34,7 +35,7 @@ import javax.inject.Named;
 @Named
 public class LogsearchSimpleAuthenticationProvider extends LogsearchAbstractAuthenticationProvider {
 
-  private static final Logger logger = Logger.getLogger(LogsearchSimpleAuthenticationProvider.class);
+  private static final Logger logger = LogManager.getLogger(LogsearchSimpleAuthenticationProvider.class);
 
   @Inject
   private AuthPropsConfig authPropsConfig;
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/resources/log4j.xml b/ambari-logsearch/ambari-logsearch-server/src/main/resources/log4j.xml
deleted file mode 100644
index 40868fa..0000000
--- a/ambari-logsearch/ambari-logsearch-server/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,86 +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
-  "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-  <appender name="console" class="org.apache.log4j.ConsoleAppender">
-    <param name="Target" value="System.out"/>
-    <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n"/>
-    </layout>
-  </appender>
-
-  <appender name="rolling_file_json"
-            class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
-    <param name="file" value="target/logs/logsearch-app.json"/>
-    <param name="Threshold" value="info"/>
-    <param name="append" value="true"/>
-    <param name="maxFileSize" value="10MB"/>
-    <param name="maxBackupIndex" value="10"/>
-    <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion"/>
-  </appender>
-
-  <appender name="audit_rolling_file_json"
-            class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
-    <param name="file" value="target/logs/logsearch-audit.json"/>
-    <param name="Threshold" value="info"/>
-    <param name="append" value="true"/>
-    <param name="maxFileSize" value="10MB"/>
-    <param name="maxBackupIndex" value="10"/>
-    <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion"/>
-  </appender>
-
-  <appender name="performance_analyzer_json"
-            class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
-    <param name="file" value="target/logs/logsearch-performance.json"/>
-    <param name="Threshold" value="info"/>
-    <param name="append" value="true"/>
-    <param name="maxFileSize" value="10MB"/>
-    <param name="maxBackupIndex" value="10"/>
-    <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion"/>
-  </appender>
-
-  <category name="org.apache.solr.common.cloud.ZkStateReader" additivity="false">
-    <priority value="error"/>
-    <appender-ref ref="console"/>
-  </category>
-
-  <logger name="org.apache.ambari.logsearch.audit"
-          additivity="true">
-    <appender-ref ref="audit_rolling_file_json"/>
-  </logger>
-
-  <logger name="org.apache.ambari.logsearch.performance"
-          additivity="false">
-    <appender-ref ref="performance_analyzer_json"/>
-  </logger>
-
-  <logger name="org.apache.ambari.logsearch" additivity="false">
-    <appender-ref ref="console"/>
-    <appender-ref ref="rolling_file_json"/>
-  </logger>
-
-  <root>
-    <level value="info"/>
-    <appender-ref ref="console"/>
-    <appender-ref ref="rolling_file_json"/>
-  </root>
-
-</log4j:configuration>
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/resources/log4j2.yml b/ambari-logsearch/ambari-logsearch-server/src/main/resources/log4j2.yml
new file mode 100644
index 0000000..81a26cd
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/resources/log4j2.yml
@@ -0,0 +1,106 @@
+# 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.
+Configutation:
+  name: LogSearchConfig
+  packages: org.apache.ambari.logsearch.layout
+
+  Properties:
+    Property:
+      name: log-path
+      value: "target/logs"
+
+  Appenders:
+
+    Console:
+      name: Console_Appender
+      target: SYSTEM_OUT
+      PatternLayout:
+        pattern: "%d [%t] %-5p %C{6} (%F:%L) - %m%n"
+
+    RollingFile:
+    - name: RollingFile_Appender
+      fileName: ${log-path}/logsearch.log
+      filePattern: "logsearch.log.%d{yyyy-MM-dd-hh-mm}.gz"
+      PatternLayout:
+        pattern: "%d [%t] %-5p %C{6} (%F:%L) - %m%n"
+      Policies:
+        SizeBasedTriggeringPolicy:
+          size: 10 MB
+      DefaultRollOverStrategy:
+        max: 10
+    - name: RollingFileJson_Appender
+      fileName: ${log-path}/logsearch.json
+      filePattern: "logsearch.json.%d{yyyy-MM-dd-hh-mm}.gz"
+      ignoreExceptions: false
+      LogSearchJsonLayout:
+        charset: UTF-8
+      Policies:
+        SizeBasedTriggeringPolicy:
+          size: 10 MB
+      DefaultRollOverStrategy:
+        max: 10
+    - name: AuditFile_Appender
+      fileName: ${log-path}/logsearch-audit.json
+      filePattern: "logsearch-audit.json.%d{yyyy-MM-dd-hh-mm}.gz"
+      ignoreExceptions: false
+      LogSearchJsonLayout:
+        charset: UTF-8
+      Policies:
+        SizeBasedTriggeringPolicy:
+          size: 10 MB
+      DefaultRollOverStrategy:
+        max: 10
+    - name: PerformanceFile_Appender
+      fileName: ${log-path}/logsearch-performance.json
+      filePattern: "logsearch-perf.json.%d{yyyy-MM-dd-hh-mm}.gz"
+      LogSearchJsonLayout:
+        charset: UTF-8
+      Policies:
+        SizeBasedTriggeringPolicy:
+          size: 10 MB
+      DefaultRollOverStrategy:
+        max: 10
+
+  Loggers:
+
+    Root:
+      level: info
+      AppenderRef:
+      - ref: Console_Appender
+      - ref: RollingFile_Appender
+      - ref: RollingFileJson_Appender
+
+    Logger:
+    - name: org.apache.solr.common.cloud.ZkStateReader
+      additivity: false
+      level: error
+      AppenderRef:
+      - ref: Console_Appender
+    - name: org.apache.ambari.logsearch.performance
+      additivity: false
+      level: info
+      AppenderRef:
+      - ref: PerformanceFile_Appender
+        level: info
+      - ref: Console_Appender
+        level: info
+    - name: org.apache.ambari.logsearch.audit
+      additivity: false
+      level: info
+      AppenderRef:
+      - ref: AuditFile_Appender
+        level: info
+      - ref: Console_Appender
+        level: info
\ No newline at end of file
diff --git a/ambari-logsearch/docker/bin/start.sh b/ambari-logsearch/docker/bin/start.sh
index d212b91..ecc7945 100644
--- a/ambari-logsearch/docker/bin/start.sh
+++ b/ambari-logsearch/docker/bin/start.sh
@@ -47,7 +47,7 @@ function create_logfeeder_configs() {
 
 function create_logsearch_configs() {
   mkdir -p /root/config/logsearch
-  cp /root/test-config/logsearch/log4j.xml /root/config/logsearch/
+  cp /root/test-config/logsearch/log4j2.yml /root/config/logsearch/
   cp /root/test-config/logsearch/logsearch-env.sh /root/config/logsearch/
   cp $LOGSEARCH_SERVER_PATH/conf/user_pass.json /root/config/logsearch/user_pass.json
   cp $LOGSEARCH_SERVER_PATH/conf/roles.json /root/config/logsearch/roles.json
diff --git a/ambari-logsearch/docker/test-config/logfeeder/log4j.xml b/ambari-logsearch/docker/test-config/logfeeder/log4j.xml
deleted file mode 100644
index 52e3e2a..0000000
--- a/ambari-logsearch/docker/test-config/logfeeder/log4j.xml
+++ /dev/null
@@ -1,43 +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/">
-  <appender name="console" class="org.apache.log4j.ConsoleAppender">
-    <param name="Target" value="System.out" />
-    <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" />
-    </layout>
-  </appender>
-
-  <appender name="daily_rolling_file" class="org.apache.log4j.DailyRollingFileAppender">
-    <param name="file" value="/var/log/ambari-logsearch-logfeeder/logsearch-logfeeder.log" />
-    <param name="datePattern"  value="'.'yyyy-MM-dd" />
-    <param name="append" value="true" />
-    <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n"/>
-    </layout>
-  </appender>
-
-  <root>
-    <priority value="info" />
-    <appender-ref ref="daily_rolling_file" />
-    <appender-ref ref="console" />
-  </root>
-
-</log4j:configuration>
diff --git a/ambari-logsearch/docker/test-config/logfeeder/log4j2.yml b/ambari-logsearch/docker/test-config/logfeeder/log4j2.yml
new file mode 100644
index 0000000..809be67
--- /dev/null
+++ b/ambari-logsearch/docker/test-config/logfeeder/log4j2.yml
@@ -0,0 +1,50 @@
+# 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.
+Configutation:
+  name: LogFeederConfig
+  packages: org.apache.ambari.logsearch.layout
+
+  Properties:
+    Property:
+      name: log-path
+      value: "/var/log/ambari-logsearch-logfeeder"
+
+  Appenders:
+
+    Console:
+      name: Console_Appender
+      target: SYSTEM_OUT
+      PatternLayout:
+        pattern: "%d [%t] %-5p %C{6} (%F:%L) - %m%n"
+
+    RollingFile:
+    - name: RollingFile_Appender
+      fileName: ${log-path}/logsearch-logfeeder.log
+      filePattern: "logsearch-logfeeder.log.%d{yyyy-MM-dd-hh-mm}.gz"
+      PatternLayout:
+        pattern: "%d [%t] %-5p %C{6} (%F:%L) - %m%n"
+      Policies:
+        SizeBasedTriggeringPolicy:
+          size: 10 MB
+      DefaultRollOverStrategy:
+        max: 10
+
+  Loggers:
+
+    Root:
+      level: info
+      AppenderRef:
+      - ref: Console_Appender
+      - ref: RollingFile_Appender
\ No newline at end of file
diff --git a/ambari-logsearch/docker/test-config/logsearch/log4j.xml b/ambari-logsearch/docker/test-config/logsearch/log4j.xml
deleted file mode 100644
index f10522b..0000000
--- a/ambari-logsearch/docker/test-config/logsearch/log4j.xml
+++ /dev/null
@@ -1,49 +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/">
-  <appender name="console" class="org.apache.log4j.ConsoleAppender">
-    <param name="Target" value="System.out" />
-    <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" />
-    </layout>
-  </appender>
-
-  <appender name="rolling_file" class="org.apache.log4j.RollingFileAppender">
-    <param name="file" value="/var/log/ambari-logsearch-portal/logsearch-app.log" />
-    <param name="Threshold" value="info" />
-    <param name="append" value="true" />
-    <param name="maxFileSize" value="10MB" />
-    <param name="maxBackupIndex" value="10" />
-    <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d %-5p [%t] %C{6} (%F:%L) - %m%n" />
-    </layout>
-  </appender>
-
-  <category name="org.apache.ambari.logsearch" additivity="false">
-    <priority value="info" />
-    <appender-ref ref="console" />
-    <appender-ref ref="rolling_file" />
-  </category>
-
-  <root>
-    <level value="info" />
-    <appender-ref ref="console" />
-    <appender-ref ref="rolling_file" />
-  </root>
-</log4j:configuration>
diff --git a/ambari-logsearch/docker/test-config/logsearch/log4j2.yml b/ambari-logsearch/docker/test-config/logsearch/log4j2.yml
new file mode 100644
index 0000000..a5fbd4c
--- /dev/null
+++ b/ambari-logsearch/docker/test-config/logsearch/log4j2.yml
@@ -0,0 +1,50 @@
+# 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.
+Configutation:
+  name: LogSearchConfig
+  packages: org.apache.ambari.logsearch.layout
+
+  Properties:
+    Property:
+      name: log-path
+      value: "/var/log/ambari-logsearch-portal"
+
+  Appenders:
+
+    Console:
+      name: Console_Appender
+      target: SYSTEM_OUT
+      PatternLayout:
+        pattern: "%d [%t] %-5p %C{6} (%F:%L) - %m%n"
+
+    RollingFile:
+    - name: RollingFile_Appender
+      fileName: ${log-path}/logsearch-app.log
+      filePattern: "logsearch-app.log.%d{yyyy-MM-dd-hh-mm}.gz"
+      PatternLayout:
+        pattern: "%d [%t] %-5p %C{6} (%F:%L) - %m%n"
+      Policies:
+        SizeBasedTriggeringPolicy:
+          size: 10 MB
+      DefaultRollOverStrategy:
+        max: 10
+
+  Loggers:
+
+    Root:
+      level: info
+      AppenderRef:
+      - ref: Console_Appender
+      - ref: RollingFile_Appender
\ No newline at end of file
diff --git a/ambari-logsearch/docker/test-config/logsearch/logsearch.properties b/ambari-logsearch/docker/test-config/logsearch/logsearch.properties
index 05da507..aa9d4c4 100644
--- a/ambari-logsearch/docker/test-config/logsearch/logsearch.properties
+++ b/ambari-logsearch/docker/test-config/logsearch/logsearch.properties
@@ -51,7 +51,7 @@ logsearch.solr.jmx.port=18886
 logsearch.auth.file.enabled=true
 logsearch.login.credentials.file=user_pass.json
 
-logsearch.authr.file.enabled=true
+logsearch.authr.file.enabled=false
 
 logsearch.auth.ldap.enabled=false
 logsearch.auth.simple.enabled=false
diff --git a/ambari-logsearch/pom.xml b/ambari-logsearch/pom.xml
index bb434d9..2caa40b 100644
--- a/ambari-logsearch/pom.xml
+++ b/ambari-logsearch/pom.xml
@@ -26,6 +26,7 @@
   <modules>
     <module>ambari-logsearch-assembly</module>
     <module>ambari-logsearch-appender</module>
+    <module>ambari-logsearch-log4j2-appender</module>
     <module>ambari-logsearch-server</module>
     <module>ambari-logsearch-web</module>
     <module>ambari-logsearch-logfeeder</module>
@@ -202,7 +203,7 @@
       </plugin>
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.7.0</version>
+        <version>3.8.0</version>
         <configuration>
           <source>${jdk.version}</source>
           <target>${jdk.version}</target>
@@ -320,6 +321,21 @@
         <version>4.10</version>
       </dependency>
       <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-api</artifactId>
+        <version>2.10.0</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-core</artifactId>
+        <version>2.10.0</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-jcl</artifactId>
+        <version>2.10.0</version>
+      </dependency>
+      <dependency>
         <groupId>commons-fileupload</groupId>
         <artifactId>commons-fileupload</artifactId>
         <version>1.3.3</version>
@@ -336,6 +352,11 @@
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.dataformat</groupId>
+        <artifactId>jackson-dataformat-yaml</artifactId>
+        <version>2.9.4</version>
+      </dependency>
+      <dependency>
+        <groupId>com.fasterxml.jackson.dataformat</groupId>
         <artifactId>jackson-dataformat-xml</artifactId>
         <version>2.9.4</version>
         <exclusions>


[ambari] 04/12: Some additional fixes

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oleewere pushed a commit to branch branch-feature-logsearch-ga
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 53496dc91211d91ccb53a07dd32883a869f49d78
Author: Oliver Szabo <ol...@gmail.com>
AuthorDate: Fri Sep 21 16:47:07 2018 +0200

    Some additional fixes
---
 .../main/java/org/apache/ambari/logsearch/conf/SecurityConfig.java  | 2 +-
 .../logsearch/web/security/LogsearchAuthenticationProvider.java     | 3 ++-
 .../logsearch/web/security/LogsearchFileAuthenticationProvider.java | 6 +++---
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SecurityConfig.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SecurityConfig.java
index fc985af..b1ca062 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SecurityConfig.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/conf/SecurityConfig.java
@@ -189,7 +189,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
 
   @Bean
   public LdapAuthoritiesPopulator ldapAuthoritiesPopulator() {
-    if (StringUtils.isNotBlank(authPropsConfig.getLdapAuthConfig().getLdapGroupSearchBase())) {
+    if (authPropsConfig.isAuthLdapEnabled() || StringUtils.isNotBlank(authPropsConfig.getLdapAuthConfig().getLdapGroupSearchBase())) {
       final DefaultLdapAuthoritiesPopulator ldapAuthoritiesPopulator =
         new DefaultLdapAuthoritiesPopulator(ldapContextSource(), authPropsConfig.getLdapAuthConfig().getLdapGroupSearchBase());
       ldapAuthoritiesPopulator.setGroupSearchFilter(authPropsConfig.getLdapAuthConfig().getLdapGroupSearchFilter());
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
index cfa948d..6682b5c 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
@@ -20,6 +20,7 @@ package org.apache.ambari.logsearch.web.security;
 
 import java.util.HashMap;
 
+import javax.annotation.Nullable;
 import javax.inject.Inject;
 import javax.inject.Named;
 
@@ -29,7 +30,6 @@ import org.apache.log4j.Logger;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.ldap.authentication.LdapAuthenticationProvider;
 import org.springframework.security.web.authentication.WebAuthenticationDetails;
 
 @Named
@@ -47,6 +47,7 @@ public class LogsearchAuthenticationProvider extends LogsearchAbstractAuthentica
   private LogsearchSimpleAuthenticationProvider simpleAuthenticationProvider;
 
   @Inject
+  @Nullable
   private LogsearchLdapAuthenticationProvider ldapAuthenticationProvider;
 
   @Override
diff --git a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
index 1f04bdf..7c375d2 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
@@ -79,14 +79,14 @@ public class LogsearchFileAuthenticationProvider extends LogsearchAbstractAuthen
       logger.error("Password can't be null or empty.");
       throw new BadCredentialsException("Password can't be null or empty.");
     }
-    String encPassword = passwordEncoder.encode(password);
-    if (!passwordEncoder.matches(user.getPassword(), encPassword)) {
+    //String encPassword = passwordEncoder.encode(password);
+    if (!passwordEncoder.matches(password, user.getPassword())) {
       logger.error("Wrong password for user=" + username);
       throw new BadCredentialsException("Wrong password.");
     }
     
     Collection<? extends GrantedAuthority> authorities = user.getAuthorities();
-    authentication = new UsernamePasswordAuthenticationToken(username, encPassword, authorities);
+    authentication = new UsernamePasswordAuthenticationToken(username, user.getPassword(), authorities);
     return authentication;
   }