You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2021/12/17 01:56:53 UTC

[airavata] branch log4j-upgrade created (now 299d663)

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

dimuthuupe pushed a change to branch log4j-upgrade
in repository https://gitbox.apache.org/repos/asf/airavata.git.


      at 299d663  Upgrading from log4j -> log4j2 + refactoring

This branch includes the following new commits:

     new 299d663  Upgrading from log4j -> log4j2 + refactoring

The 1 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.


[airavata] 01/01: Upgrading from log4j -> log4j2 + refactoring

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

dimuthuupe pushed a commit to branch log4j-upgrade
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 299d66334ba87fb4b9c366a685f96e8eb254538c
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Thu Dec 16 20:56:39 2021 -0500

    Upgrading from log4j -> log4j2 + refactoring
---
 .../java-client-samples/pom.xml                    |   5 -
 airavata-services/pom.xml                          |   5 -
 dev-tools/ansible/roles/api-orch/defaults/main.yml |   2 +-
 dev-tools/ansible/roles/api-orch/tasks/main.yml    |   4 +-
 .../ansible/roles/api-orch/templates/log4j2.xml.j2 |  57 ++++++
 .../roles/api-orch/templates/logback.xml.j2        |  58 ------
 dev-tools/ansible/roles/helix_setup/tasks/main.yml |   6 +-
 .../helix_setup/templates/controller/log4j2.xml.j2 |  54 ++++++
 .../templates/controller/logback.xml.j2            |  54 ------
 .../helix_setup/templates/parser-wm/log4j2.xml.j2  |  54 ++++++
 .../helix_setup/templates/parser-wm/logback.xml.j2 |  53 ------
 .../templates/participant/log4j2.xml.j2            |  54 ++++++
 .../templates/participant/logback.xml.j2           |  53 ------
 .../helix_setup/templates/post-wm/log4j2.xml.j2    |  54 ++++++
 .../helix_setup/templates/post-wm/logback.xml.j2   |  53 ------
 .../helix_setup/templates/pre-wm/log4j2.xml.j2     |  54 ++++++
 .../helix_setup/templates/pre-wm/logback.xml.j2    |  53 ------
 .../ansible/roles/job_monitor/defaults/main.yml    |   2 +-
 dev-tools/ansible/roles/job_monitor/tasks/main.yml |   6 +-
 .../templates/email-monitor/log4j2.xml.j2          |  54 ++++++
 .../templates/email-monitor/logback.xml.j2         |  53 ------
 .../templates/realtime-monitor/log4j2.xml.j2       |  54 ++++++
 .../templates/realtime-monitor/logback.xml.j2      |  53 ------
 .../roles/platform_monitor/defaults/main.yml       |  28 ---
 .../ansible/roles/platform_monitor/tasks/main.yml  |  60 -------
 .../templates/airavata-server.properties.j2        |  13 --
 .../platform_monitor/templates/logback.xml.j2      |  53 ------
 modules/airavata-helix/helix-spectator/pom.xml     |  21 +--
 .../helix-spectator/src/main/resources/log4j2.xml  |  53 ++++++
 .../helix-spectator/src/main/resources/logback.xml |  96 ----------
 modules/cluster-monitoring/pom.xml                 |   4 -
 modules/commons/pom.xml                            |  12 --
 .../apache/airavata/common/logging/LogEntry.java   | 131 --------------
 .../apache/airavata/common/logging/ServerId.java   |  67 -------
 .../common/logging/kafka/KafkaAppender.java        | 114 ------------
 .../airavata/common/utils/AiravataZKUtils.java     | 197 ---------------------
 .../apache/airavata/common/utils/AwsMetadata.java  | 136 --------------
 .../airavata/common/utils/BrowserLauncher.java     |  96 ----------
 .../airavata/common/utils/ClientSettings.java      |  25 ---
 .../airavata/common/utils/ServerSettings.java      |  15 --
 .../utils/listener/AbstractActivityListener.java   |  25 ---
 .../utils/listener/AbstractStateChangeRequest.java |  25 ---
 .../common/utils/listener/PublisherMessage.java    |  24 ---
 modules/compute-account-provisioning/pom.xml       |   4 -
 .../server/src/main/resources/airavata.jks         | Bin 1410 -> 0 bytes
 .../server/src/main/resources/airavata.pem         | Bin 634 -> 0 bytes
 .../src/main/resources/client_truststore.jks       | Bin 5312 -> 0 bytes
 .../server/src/main/resources/log4j2.xml           |  53 ++++++
 .../server/src/main/resources/logback.xml          |  58 ------
 .../credential-store-service/pom.xml               |  15 +-
 modules/distribution/pom.xml                       |  10 --
 .../src/main/assembly/api-server-bin-assembly.xml  |   2 +-
 .../src/main/assembly/controller-bin-assembly.xml  |   9 +-
 .../main/assembly/email-monitor-bin-assembly.xml   |   8 +-
 .../src/main/assembly/parser-wm-bin-assembly.xml   |   9 +-
 .../src/main/assembly/participant-bin-assembly.xml |   9 +-
 .../src/main/assembly/post-wm-bin-assembly.xml     |  11 +-
 .../src/main/assembly/pre-wm-bin-assembly.xml      |  11 +-
 .../assembly/realtime-monitor-bin-assembly.xml     |  10 +-
 .../resources/controller/bin/controller-daemon.sh  |   2 +-
 .../main/resources/controller/bin/controller.sh    |   2 +-
 .../src/main/resources/controller/conf/log4j2.xml  |  53 ++++++
 .../src/main/resources/controller/conf/logback.xml |  53 ------
 .../email-monitor/bin/email-monitor-daemon.sh      |   2 +-
 .../resources/email-monitor/bin/email-monitor.sh   |   2 +-
 .../main/resources/email-monitor/conf/log4j2.xml   |  53 ++++++
 .../main/resources/email-monitor/conf/logback.xml  |  53 ------
 .../resources/parser-wm/bin/parser-wm-daemon.sh    |   2 +-
 .../src/main/resources/parser-wm/bin/parser-wm.sh  |   2 +-
 .../src/main/resources/parser-wm/conf/log4j2.xml   |  53 ++++++
 .../src/main/resources/parser-wm/conf/logback.xml  |  53 ------
 .../participant/bin/participant-daemon.sh          |   2 +-
 .../main/resources/participant/bin/participant.sh  |   2 +-
 .../src/main/resources/participant/conf/log4j2.xml |  53 ++++++
 .../main/resources/participant/conf/logback.xml    |  53 ------
 .../main/resources/post-wm/bin/post-wm-daemon.sh   |   2 +-
 .../src/main/resources/post-wm/bin/post-wm.sh      |   2 +-
 .../src/main/resources/post-wm/conf/log4j2.xml     |  53 ++++++
 .../src/main/resources/post-wm/conf/logback.xml    |  53 ------
 .../src/main/resources/pre-wm/bin/pre-wm-daemon.sh |   2 +-
 .../src/main/resources/pre-wm/bin/pre-wm.sh        |   2 +-
 .../src/main/resources/pre-wm/conf/log4j2.xml      |  53 ++++++
 .../src/main/resources/pre-wm/conf/logback.xml     |  53 ------
 .../bin/realtime-monitor-daemon.sh                 |   2 +-
 .../realtime-monitor/bin/realtime-monitor.sh       |   2 +-
 .../resources/realtime-monitor/conf/log4j2.xml     |  53 ++++++
 .../resources/realtime-monitor/conf/logback.xml    |  53 ------
 .../ide-integration/src/main/resources/log4j2.xml  |  53 ++++++
 .../ide-integration/src/main/resources/logback.xml |  54 ------
 modules/job-monitor/email-monitor/pom.xml          |  12 --
 .../email-monitor/src/main/resources/log4j2.xml    |  53 ++++++
 .../email-monitor/src/main/resources/logback.xml   |  53 ------
 modules/job-monitor/pom.xml                        |  15 --
 modules/job-monitor/real-time-monitor/pom.xml      |  12 --
 .../src/main/resources/log4j2.xml                  |  53 ++++++
 .../src/main/resources/logback.xml                 |  53 ------
 modules/messaging/client/pom.xml                   |   9 -
 modules/messaging/core/pom.xml                     |   9 -
 modules/platform-monitoring/pom.xml                |   5 -
 modules/registry/registry-core/pom.xml             |   6 -
 .../registry-core/src/test/resources/log4j2.xml    |  53 ++++++
 .../registry-core/src/test/resources/logback.xml   |  31 ----
 modules/registry/registry-cpi/pom.xml              |   9 -
 modules/registry/registry-tools/jpa-gen/pom.xml    |   9 -
 modules/security/pom.xml                           |   4 -
 modules/server/pom.xml                             |   9 -
 .../org/apache/airavata/server/ServerMain.java     |  34 +---
 .../sharing-registry/sharing-data-migrator/pom.xml |  10 --
 .../sharing-registry-distribution/pom.xml          |   5 -
 .../sharing-registry-server/pom.xml                |   5 -
 .../src/test/resources/log4j2.xml                  |  53 ++++++
 .../src/test/resources/logback.xml                 |  31 ----
 pom.xml                                            |  63 ++++---
 113 files changed, 1296 insertions(+), 2476 deletions(-)

diff --git a/airavata-api/airavata-client-sdks/java-client-samples/pom.xml b/airavata-api/airavata-client-sdks/java-client-samples/pom.xml
index a6c3b39..110609b 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/pom.xml
+++ b/airavata-api/airavata-client-sdks/java-client-samples/pom.xml
@@ -58,11 +58,6 @@
             <version>${thrift.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>${org.slf4j.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-client-configuration</artifactId>
             <version>${project.version}</version>
diff --git a/airavata-services/pom.xml b/airavata-services/pom.xml
index 6e6bd94..df58317 100644
--- a/airavata-services/pom.xml
+++ b/airavata-services/pom.xml
@@ -47,11 +47,6 @@
             <version>${thrift.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>${org.slf4j.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-commons</artifactId>
             <version>${project.version}</version>
diff --git a/dev-tools/ansible/roles/api-orch/defaults/main.yml b/dev-tools/ansible/roles/api-orch/defaults/main.yml
index 638eb95..e1c0476 100644
--- a/dev-tools/ansible/roles/api-orch/defaults/main.yml
+++ b/dev-tools/ansible/roles/api-orch/defaults/main.yml
@@ -21,7 +21,7 @@
 api_orch_server_names: "api-orch"
 api_orch_log_dir: "{{ api_orch_dir }}/{{ airavata_dist }}/logs"
 api_orch_log_max_history: 30
-api_orch_log_total_size_cap: "1GB"
+api_orch_log_total_size_cap: "1 GB"
 
 iam_server_url: "https://iam.scigap.org/auth"
 iam_server_super_admin_username: "admin"
diff --git a/dev-tools/ansible/roles/api-orch/tasks/main.yml b/dev-tools/ansible/roles/api-orch/tasks/main.yml
index 7ecd593..9da2b29 100644
--- a/dev-tools/ansible/roles/api-orch/tasks/main.yml
+++ b/dev-tools/ansible/roles/api-orch/tasks/main.yml
@@ -66,8 +66,8 @@
             mode="u=rw,g=r,o=r"
 
 - name: Copy logback configuration file
-  template: src=logback.xml.j2
-            dest="{{ api_orch_dir }}/{{ airavata_dist }}/bin/logback.xml"
+  template: src=log4j2.xml.j2
+            dest="{{ api_orch_dir }}/{{ airavata_dist }}/bin/log4j2.xml"
             owner={{ user }}
             group={{ group }}
             mode="u=rw,g=r,o=r"
diff --git a/dev-tools/ansible/roles/api-orch/templates/log4j2.xml.j2 b/dev-tools/ansible/roles/api-orch/templates/log4j2.xml.j2
new file mode 100644
index 0000000..2517895
--- /dev/null
+++ b/dev-tools/ansible/roles/api-orch/templates/log4j2.xml.j2
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="{{ api_orch_log_dir }}/airavata.log"
+                     filePattern="{{ api_orch_log_dir }}/airavata.log.%d{yyyy-MM-dd}">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="{{ api_orch_log_total_size_cap }}" />
+            </Policies>
+            <DefaultRolloverStrategy max="{{ api_orch_log_max_history }}" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="edu.internet2.middleware.grouper" level="ERROR"/>
+        <logger name="org.globus" level="INFO"/>
+        <logger name="org.apache.commons.httpclient" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <logger name="de.hunsicker.jalopy.io" level="ERROR"/>
+        <logger name="httpclient.wire.header" level="ERROR"/>
+        <logger name="org.apache.axis2.enterprise" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/api-orch/templates/logback.xml.j2 b/dev-tools/ansible/roles/api-orch/templates/logback.xml.j2
deleted file mode 100644
index 3c0e800..0000000
--- a/dev-tools/ansible/roles/api-orch/templates/logback.xml.j2
+++ /dev/null
@@ -1,58 +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.
-
--->
-<configuration>
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>[%p] %m%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
-        <!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
-        <!--for further documentation-->
-        <File>{{ api_orch_log_dir }}/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>{{ api_orch_log_dir }}/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <!-- maxHistory is needed in order for totalSizeCap to be applied -->
-            <maxHistory>{{ api_orch_log_max_history }}</maxHistory>
-            <totalSizeCap>{{ api_orch_log_total_size_cap }}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="edu.internet2.middleware.grouper" level="ERROR"/>
-    <logger name="org.globus" level="INFO"/>
-    <logger name="org.apache.commons.httpclient" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <logger name="de.hunsicker.jalopy.io" level="ERROR"/>
-    <logger name="httpclient.wire.header" level="ERROR"/>
-    <logger name="org.apache.axis2.enterprise" level="ERROR"/>
-    <root level="INFO">
-        <!--<appender-ref ref="CONSOLE"/>-->
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/dev-tools/ansible/roles/helix_setup/tasks/main.yml b/dev-tools/ansible/roles/helix_setup/tasks/main.yml
index a189764..10aa601 100644
--- a/dev-tools/ansible/roles/helix_setup/tasks/main.yml
+++ b/dev-tools/ansible/roles/helix_setup/tasks/main.yml
@@ -80,7 +80,7 @@
   - "{{ helix_post_wm_dist_name }}"
   - "{{ helix_parser_wm_dist_name }}"
 
-# Copy properties files & logback.xml files
+# Copy properties files & log4j2.xml files
 
 - name: Copy Airavata server properties files
   template: "src={{ item.name }}/airavata-server.properties.j2
@@ -96,8 +96,8 @@
   - { name: parser-wm, dir: "{{ helix_parser_wm_version }}" }
 
 - name: Copy logback configuration file
-  template: "src={{ item.name }}/logback.xml.j2
-            dest={{ helix_dir }}/{{ item.dir }}/conf/logback.xml
+  template: "src={{ item.name }}/log4j2.xml.j2
+            dest={{ helix_dir }}/{{ item.dir }}/conf/log4j2.xml
             owner={{ user }}
             group={{ group }}
             mode=\"u=rw,g=r,o=r\""
diff --git a/dev-tools/ansible/roles/helix_setup/templates/controller/log4j2.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/controller/log4j2.xml.j2
new file mode 100644
index 0000000..d5516f8
--- /dev/null
+++ b/dev-tools/ansible/roles/helix_setup/templates/controller/log4j2.xml.j2
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="{{ helix_controller_log_dir }}/airavata.log"
+                     filePattern="{{ helix_controller_log_dir }}/airavata.log.%d{yyyy-MM-dd}">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="{{ helix_log_total_size_cap }}" />
+            </Policies>
+            <DefaultRolloverStrategy max="{{ helix_log_max_history }}" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.helix.manager.zk" level="ERROR"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/helix_setup/templates/controller/logback.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/controller/logback.xml.j2
deleted file mode 100644
index 216e587..0000000
--- a/dev-tools/ansible/roles/helix_setup/templates/controller/logback.xml.j2
+++ /dev/null
@@ -1,54 +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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>{{ helix_controller_log_dir }}/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>{{ helix_controller_log_dir }}/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>{{ helix_log_max_history }}</maxHistory>
-            <totalSizeCap>{{ helix_log_total_size_cap }}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.helix.manager.zk" level="ERROR"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/dev-tools/ansible/roles/helix_setup/templates/parser-wm/log4j2.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/parser-wm/log4j2.xml.j2
new file mode 100644
index 0000000..68d8b00
--- /dev/null
+++ b/dev-tools/ansible/roles/helix_setup/templates/parser-wm/log4j2.xml.j2
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="{{ helix_parser_wm_dist_log_dir }}/airavata.log"
+                     filePattern="{{ helix_parser_wm_dist_log_dir }}/airavata.log.%d{yyyy-MM-dd}">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="{{ helix_log_total_size_cap }}" />
+            </Policies>
+            <DefaultRolloverStrategy max="{{ helix_log_max_history }}" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.helix.manager.zk" level="ERROR"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/helix_setup/templates/parser-wm/logback.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/parser-wm/logback.xml.j2
deleted file mode 100644
index 7bddf7d..0000000
--- a/dev-tools/ansible/roles/helix_setup/templates/parser-wm/logback.xml.j2
+++ /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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>{{ helix_parser_wm_dist_log_dir }}/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>{{ helix_controller_log_dir }}/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>{{ helix_log_max_history }}</maxHistory>
-            <totalSizeCap>{{ helix_log_total_size_cap }}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/dev-tools/ansible/roles/helix_setup/templates/participant/log4j2.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/participant/log4j2.xml.j2
new file mode 100644
index 0000000..4e75eb0
--- /dev/null
+++ b/dev-tools/ansible/roles/helix_setup/templates/participant/log4j2.xml.j2
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="{{ helix_participant_log_dir }}/airavata.log"
+                     filePattern="{{ helix_participant_log_dir }}/airavata.log.%d{yyyy-MM-dd}">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="{{ helix_log_total_size_cap }}" />
+            </Policies>
+            <DefaultRolloverStrategy max="{{ helix_log_max_history }}" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.helix.manager.zk" level="ERROR"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/helix_setup/templates/participant/logback.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/participant/logback.xml.j2
deleted file mode 100644
index c213a11..0000000
--- a/dev-tools/ansible/roles/helix_setup/templates/participant/logback.xml.j2
+++ /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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>{{ helix_participant_log_dir }}/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>{{ helix_participant_log_dir }}/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>{{ helix_log_max_history }}</maxHistory>
-            <totalSizeCap>{{ helix_log_total_size_cap }}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/dev-tools/ansible/roles/helix_setup/templates/post-wm/log4j2.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/post-wm/log4j2.xml.j2
new file mode 100644
index 0000000..5ecc70a
--- /dev/null
+++ b/dev-tools/ansible/roles/helix_setup/templates/post-wm/log4j2.xml.j2
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="{{ helix_post_wm_dist_log_dir }}/airavata.log"
+                     filePattern="{{ helix_post_wm_dist_log_dir }}/airavata.log.%d{yyyy-MM-dd}">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="{{ helix_log_total_size_cap }}" />
+            </Policies>
+            <DefaultRolloverStrategy max="{{ helix_log_max_history }}" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.helix.manager.zk" level="ERROR"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/helix_setup/templates/post-wm/logback.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/post-wm/logback.xml.j2
deleted file mode 100644
index 42d365b..0000000
--- a/dev-tools/ansible/roles/helix_setup/templates/post-wm/logback.xml.j2
+++ /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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>{{ helix_post_wm_dist_log_dir }}/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>{{ helix_post_wm_dist_log_dir }}/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>{{ helix_log_max_history }}</maxHistory>
-            <totalSizeCap>{{ helix_log_total_size_cap }}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/dev-tools/ansible/roles/helix_setup/templates/pre-wm/log4j2.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/pre-wm/log4j2.xml.j2
new file mode 100644
index 0000000..051f94d
--- /dev/null
+++ b/dev-tools/ansible/roles/helix_setup/templates/pre-wm/log4j2.xml.j2
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="{{ helix_pre_wm_dist_log_dir }}/airavata.log"
+                     filePattern="{{ helix_pre_wm_dist_log_dir }}/airavata.log.%d{yyyy-MM-dd}">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="{{ helix_log_total_size_cap }}" />
+            </Policies>
+            <DefaultRolloverStrategy max="{{ helix_log_max_history }}" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.helix.manager.zk" level="ERROR"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/helix_setup/templates/pre-wm/logback.xml.j2 b/dev-tools/ansible/roles/helix_setup/templates/pre-wm/logback.xml.j2
deleted file mode 100644
index eea0614..0000000
--- a/dev-tools/ansible/roles/helix_setup/templates/pre-wm/logback.xml.j2
+++ /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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>{{ helix_pre_wm_dist_log_dir }}/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>{{ helix_pre_wm_dist_log_dir }}/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>{{ helix_log_max_history }}</maxHistory>
-            <totalSizeCap>{{ helix_log_total_size_cap }}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/dev-tools/ansible/roles/job_monitor/defaults/main.yml b/dev-tools/ansible/roles/job_monitor/defaults/main.yml
index 9aa419c..ab2e3f9 100644
--- a/dev-tools/ansible/roles/job_monitor/defaults/main.yml
+++ b/dev-tools/ansible/roles/job_monitor/defaults/main.yml
@@ -44,7 +44,7 @@ job_monitor_broker_topic: "parsed-data"
 job_monitor_broker_consumer_group: "MonitoringConsumer"
 
 helix_log_max_history: 30
-helix_log_total_size_cap: "1GB"
+helix_log_total_size_cap: "1 GB"
 
 thrift_client_pool_abandoned_removal_enabled: false
 thrift_client_pool_abandoned_removal_logged: false
diff --git a/dev-tools/ansible/roles/job_monitor/tasks/main.yml b/dev-tools/ansible/roles/job_monitor/tasks/main.yml
index 87a21c7..a49f3ad 100644
--- a/dev-tools/ansible/roles/job_monitor/tasks/main.yml
+++ b/dev-tools/ansible/roles/job_monitor/tasks/main.yml
@@ -52,7 +52,7 @@
   - "{{ email_monitor_dist_name }}"
   - "{{ realtime_monitor_dist_name }}"
 
-# Copy properties files, logback.xml files & config files
+# Copy properties files, log4j2.xml files & config files
 
 - name: Copy Airavata server properties files
   template: "src={{ item.name }}/airavata-server.properties.j2
@@ -65,8 +65,8 @@
   - { name: realtime-monitor, dir: "{{ realtime_monitor_version }}" }
 
 - name: Copy logback configuration file
-  template: "src={{ item.name }}/logback.xml.j2
-            dest={{ helix_dir }}/{{ item.dir }}/conf/logback.xml
+  template: "src={{ item.name }}/log4j2.xml.j2
+            dest={{ helix_dir }}/{{ item.dir }}/conf/log4j2.xml
             owner={{ user }}
             group={{ group }}
             mode=\"u=rw,g=r,o=r\""
diff --git a/dev-tools/ansible/roles/job_monitor/templates/email-monitor/log4j2.xml.j2 b/dev-tools/ansible/roles/job_monitor/templates/email-monitor/log4j2.xml.j2
new file mode 100644
index 0000000..f6aaba2
--- /dev/null
+++ b/dev-tools/ansible/roles/job_monitor/templates/email-monitor/log4j2.xml.j2
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="{{ email_monitor_log_dir }}/airavata.log"
+                     filePattern="{{ email_monitor_log_dir }}/airavata.log.%d{yyyy-MM-dd}">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="{{ helix_log_total_size_cap }}" />
+            </Policies>
+            <DefaultRolloverStrategy max="{{ helix_log_max_history }}" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.helix.manager.zk" level="ERROR"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/job_monitor/templates/email-monitor/logback.xml.j2 b/dev-tools/ansible/roles/job_monitor/templates/email-monitor/logback.xml.j2
deleted file mode 100644
index a64e96e..0000000
--- a/dev-tools/ansible/roles/job_monitor/templates/email-monitor/logback.xml.j2
+++ /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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>{{ email_monitor_log_dir }}/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>{{ email_monitor_log_dir }}/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>{{ helix_log_max_history }}</maxHistory>
-            <totalSizeCap>{{ helix_log_total_size_cap }}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/log4j2.xml.j2 b/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/log4j2.xml.j2
new file mode 100644
index 0000000..76cfd1c
--- /dev/null
+++ b/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/log4j2.xml.j2
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="{{ realtime_monitor_log_dir }}/airavata.log"
+                     filePattern="{{ realtime_monitor_log_dir }}/airavata.log.%d{yyyy-MM-dd}">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="{{ helix_log_total_size_cap }}" />
+            </Policies>
+            <DefaultRolloverStrategy max="{{ helix_log_max_history }}" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.helix.manager.zk" level="ERROR"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/logback.xml.j2 b/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/logback.xml.j2
deleted file mode 100644
index 40593f2..0000000
--- a/dev-tools/ansible/roles/job_monitor/templates/realtime-monitor/logback.xml.j2
+++ /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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>{{ realtime_monitor_log_dir }}/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>{{ realtime_monitor_log_dir }}/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>{{ helix_log_max_history }}</maxHistory>
-            <totalSizeCap>{{ helix_log_total_size_cap }}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/dev-tools/ansible/roles/platform_monitor/defaults/main.yml b/dev-tools/ansible/roles/platform_monitor/defaults/main.yml
deleted file mode 100644
index cead74a..0000000
--- a/dev-tools/ansible/roles/platform_monitor/defaults/main.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
----
-platform_monitor_name: "platform-monitor"
-platform_monitor_version: "platform-monitor-{{ snapshot_version }}"
-platform_monitor_dist_name: "{{ platform_monitor_version }}-bin.tar.gz"
-platform_monitor_log_dir: "{{ helix_dir }}/{{ platform_monitor_version }}/logs"
-platform_monitor_interval_minutes: "10"
-platform_mock_workflow_timeout_ms: "300000"
-...
diff --git a/dev-tools/ansible/roles/platform_monitor/tasks/main.yml b/dev-tools/ansible/roles/platform_monitor/tasks/main.yml
deleted file mode 100644
index 3046852..0000000
--- a/dev-tools/ansible/roles/platform_monitor/tasks/main.yml
+++ /dev/null
@@ -1,60 +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.
-#
-
----
-
-# Create the directory for Helix deployment
-- name: Create helix deployment directory
-  file: path="{{ helix_dir }}" state=directory owner={{ user }} group={{ group }} recurse=yes
-
-- name: Stop daemons if running
-  command: "./bin/platform-monitor-daemon.sh stop chdir={{ helix_dir }}/{{ platform_monitor_version }}/"
-  ignore_errors: yes
-
-# Copy required distributions to the deployment directory
-- name: Copy platform monitor distribution to airavata-helix deployment directory
-  unarchive: "src={{ airavata_source_dir }}/modules/airavata-helix/helix-distribution/target/{{ item }}
-              dest={{ helix_dir }}/ copy=no"
-  with_items:
-  - "{{ platform_monitor_dist_name }}"
-
-# Copy properties files & logback.xml files
-
-- name: Copy Airavata server properties files
-  template: "src=airavata-server.properties.j2
-            dest={{ helix_dir }}/{{ platform_monitor_version }}/conf/airavata-server.properties
-            owner={{ user }}
-            group={{ group }}
-            mode=\"u=rw,g=r,o=r\""
-
-- name: Copy logback configuration file
-  template: "src=logback.xml.j2
-            dest={{ helix_dir }}/{{ platform_monitor_version }}/conf/logback.xml
-            owner={{ user }}
-            group={{ group }}
-            mode=\"u=rw,g=r,o=r\""
-
-- name: Create logs directory
-  file: "path={{ platform_monitor_log_dir }} state=directory owner={{ user }} group={{ group }}"
-
-# Run bash-scripts
-- name: Start daemons
-  command: "./bin/platform-monitor-daemon.sh start chdir={{ helix_dir }}/{{ platform_monitor_version }}/"
-...
diff --git a/dev-tools/ansible/roles/platform_monitor/templates/airavata-server.properties.j2 b/dev-tools/ansible/roles/platform_monitor/templates/airavata-server.properties.j2
deleted file mode 100644
index 90b06c4..0000000
--- a/dev-tools/ansible/roles/platform_monitor/templates/airavata-server.properties.j2
+++ /dev/null
@@ -1,13 +0,0 @@
-api.server.host={{ api_server_host }}
-api.server.port={{ api_server_tls_port }}
-database.host={{ db_server }}
-database.port={{ db_server_port }}
-helix.cluster.name={{ helix_cluster_name }}
-helix.participant.name={{ helix_participant_name }}
-zookeeper.server.connection={{ zookeeper_connection_url }}
-sender.email.account={{ platform_monitor_email_address }}
-sender.email.password={{ platform_monitor_email_password }}
-target.email.accounts={{ platform_monitor_target_email_addresses }}
-platform.name={{ platform_name }}
-platform_monitor_interval_minutes={{ platform_monitor_interval_minutes }}
-platform_mock_workflow_timeout_ms={{ platform_mock_workflow_timeout_ms }}
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/platform_monitor/templates/logback.xml.j2 b/dev-tools/ansible/roles/platform_monitor/templates/logback.xml.j2
deleted file mode 100644
index 5968256..0000000
--- a/dev-tools/ansible/roles/platform_monitor/templates/logback.xml.j2
+++ /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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>{{ platform_monitor_log_dir }}/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>{{ platform_monitor_log_dir }}/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
\ No newline at end of file
diff --git a/modules/airavata-helix/helix-spectator/pom.xml b/modules/airavata-helix/helix-spectator/pom.xml
index 7de7cc0..704cbbe 100644
--- a/modules/airavata-helix/helix-spectator/pom.xml
+++ b/modules/airavata-helix/helix-spectator/pom.xml
@@ -105,24 +105,15 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>log4j-over-slf4j</artifactId>
-            <version>1.7.25</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.danielwegener</groupId>
-            <artifactId>logback-kafka-appender</artifactId>
-            <version>0.2.0-RC1</version>
-        </dependency>
-        <dependency>
-            <groupId>net.logstash.logback</groupId>
-            <artifactId>logstash-logback-encoder</artifactId>
-            <version>5.0</version>
-        </dependency>
-        <dependency>
             <groupId>com.github.docker-java</groupId>
             <artifactId>docker-java</artifactId>
             <version>3.0.14</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
     </dependencies>
 </project>
diff --git a/modules/airavata-helix/helix-spectator/src/main/resources/log4j2.xml b/modules/airavata-helix/helix-spectator/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/airavata-helix/helix-spectator/src/main/resources/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/airavata-helix/helix-spectator/src/main/resources/logback.xml b/modules/airavata-helix/helix-spectator/src/main/resources/logback.xml
deleted file mode 100644
index cc04bfb..0000000
--- a/modules/airavata-helix/helix-spectator/src/main/resources/logback.xml
+++ /dev/null
@@ -1,96 +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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <appender name="KAFKA_FAILED_LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/kafka-failed.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/kafka-failed.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-
-    <appender name="RELAXED-KAFKA-APPENDER" class="com.github.danielwegener.logback.kafka.KafkaAppender">
-        <encoder class="net.logstash.logback.encoder.LogstashEncoder">
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <topic>airavata-logs</topic>
-        <!-- we don't care how the log messages will be partitioned  -->
-        <keyingStrategy class="com.github.danielwegener.logback.kafka.keying.NoKeyKeyingStrategy" />
-
-        <!-- use async delivery. the application threads are not blocked by logging -->
-        <deliveryStrategy class="com.github.danielwegener.logback.kafka.delivery.AsynchronousDeliveryStrategy" />
-
-        <!-- each <producerConfig> translates to regular kafka-client config (format: key=value) -->
-        <!-- producer configs are documented here: https://kafka.apache.org/documentation.html#newproducerconfigs -->
-        <!-- bootstrap.servers is the only mandatory producerConfig -->
-        <producerConfig>bootstrap.servers=192.168.99.103:9092</producerConfig>
-        <!-- don't wait for a broker to ack the reception of a batch.  -->
-        <producerConfig>acks=0</producerConfig>
-        <!-- wait up to 1000ms and collect log messages before sending them as a batch -->
-        <producerConfig>linger.ms=1000</producerConfig>
-        <!-- even if the producer buffer runs full, do not block the application but start to drop messages -->
-        <producerConfig>max.block.ms=0</producerConfig>
-        <!-- define a client-id that you use to identify yourself against the kafka broker -->
-        <producerConfig>client.id=${HOSTNAME}-${CONTEXT_NAME}-logback-relaxed</producerConfig>
-
-        <!-- there is no fallback <appender-ref>. If this appender cannot deliver, it will drop its messages. -->
-        <appender-ref ref="KAFKA_FAILED_LOGFILE"/>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="RELAXED-KAFKA-APPENDER"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/cluster-monitoring/pom.xml b/modules/cluster-monitoring/pom.xml
index bbbd0ae..f02920d 100644
--- a/modules/cluster-monitoring/pom.xml
+++ b/modules/cluster-monitoring/pom.xml
@@ -69,10 +69,6 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
         <dependency>
diff --git a/modules/commons/pom.xml b/modules/commons/pom.xml
index 488277f..3c925fc 100644
--- a/modules/commons/pom.xml
+++ b/modules/commons/pom.xml
@@ -64,13 +64,6 @@
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
-
-        <!-- Logging -->
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>org.apache.derby</groupId>
             <artifactId>derby</artifactId>
@@ -160,11 +153,6 @@
             <version>${kafka-clients.version}</version>
         </dependency>
         <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <version>${logback.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-base-api</artifactId>
             <version>${project.version}</version>
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/logging/LogEntry.java b/modules/commons/src/main/java/org/apache/airavata/common/logging/LogEntry.java
deleted file mode 100644
index 30d38cb..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/logging/LogEntry.java
+++ /dev/null
@@ -1,131 +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.airavata.common.logging;
-
-
-import java.lang.*;
-import java.util.Map;
-
-public class LogEntry {
-
-    private ServerId serverId;
-
-    private String message;
-
-    private String timestamp;
-
-    private String level;
-
-    private String loggerName;
-
-    private Map<String, String> mdc;
-
-    private String threadName;
-
-    private Exception exception;
-
-    public LogEntry(ServerId serverId, String message, String timestamp, String level, String loggerName, Map<String,
-            String> mdc, String threadName, Exception exception) {
-        this.serverId = serverId;
-        this.message = message;
-        this.timestamp = timestamp;
-        this.level = level;
-        this.loggerName = loggerName;
-        this.mdc = mdc;
-        this.threadName = threadName;
-        this.exception = exception;
-    }
-
-    public LogEntry(ServerId serverId, String message, String timestamp, String level, String loggerName, Map<String,
-            String> mdc, String threadName) {
-        this.serverId = serverId;
-        this.message = message;
-        this.timestamp = timestamp;
-        this.level = level;
-        this.loggerName = loggerName;
-        this.mdc = mdc;
-        this.threadName = threadName;
-    }
-
-
-    public ServerId getServerId() {
-        return serverId;
-    }
-
-    public void setServerId(ServerId serverId) {
-        this.serverId = serverId;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public void setMessage(String message) {
-        this.message = message;
-    }
-
-    public String getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(String timestamp) {
-        this.timestamp = timestamp;
-    }
-
-    public String getLevel() {
-        return level;
-    }
-
-    public void setLevel(String level) {
-        this.level = level;
-    }
-
-    public String getLoggerName() {
-        return loggerName;
-    }
-
-    public void setLoggerName(String loggerName) {
-        this.loggerName = loggerName;
-    }
-
-    public Map<String, String> getMdc() {
-        return mdc;
-    }
-
-    public void setMdc(Map<String, String> mdc) {
-        this.mdc = mdc;
-    }
-
-    public String getThreadName() {
-        return threadName;
-    }
-
-    public void setThreadName(String threadName) {
-        this.threadName = threadName;
-    }
-
-    public Exception getException() {
-        return exception;
-    }
-
-    public void setException(Exception exception) {
-        this.exception = exception;
-    }
-}
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/logging/ServerId.java b/modules/commons/src/main/java/org/apache/airavata/common/logging/ServerId.java
deleted file mode 100644
index 2073db3..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/logging/ServerId.java
+++ /dev/null
@@ -1,67 +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.airavata.common.logging;
-
-public class ServerId {
-    private String serverId;
-    private String hostName;
-    private String version;
-
-    private String[] roles; // gfac, orchestrator, apiserver,
-
-    public ServerId(String serverId, String hostName, String version, String[] roles) {
-        this.serverId = serverId;
-        this.hostName = hostName;
-        this.version = version;
-        this.roles = roles;
-    }
-
-    public String getServerId() {
-        return serverId;
-    }
-
-    public void setServerId(String serverId) {
-        this.serverId = serverId;
-    }
-
-    public String getHostName() {
-        return hostName;
-    }
-
-    public void setHostName(String hostName) {
-        this.hostName = hostName;
-    }
-
-    public String getVersion() {
-        return version;
-    }
-
-    public void setVersion(String version) {
-        this.version = version;
-    }
-
-    public String[] getRoles() {
-        return roles;
-    }
-
-    public void setRoles(String[] roles) {
-        this.roles = roles;
-    }
-}
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/logging/kafka/KafkaAppender.java b/modules/commons/src/main/java/org/apache/airavata/common/logging/kafka/KafkaAppender.java
deleted file mode 100644
index b40e9fe..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/logging/kafka/KafkaAppender.java
+++ /dev/null
@@ -1,114 +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.airavata.common.logging.kafka;
-
-
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.spi.ILoggingEvent;
-import ch.qos.logback.classic.spi.IThrowableProxy;
-import ch.qos.logback.classic.spi.StackTraceElementProxy;
-import ch.qos.logback.core.UnsynchronizedAppenderBase;
-import com.google.gson.Gson;
-import org.apache.airavata.common.logging.Exception;
-import org.apache.airavata.common.logging.LogEntry;
-import org.apache.airavata.common.logging.ServerId;
-import org.apache.airavata.common.utils.AwsMetadata;
-import org.apache.airavata.common.utils.BuildConstant;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.kafka.clients.producer.KafkaProducer;
-import org.apache.kafka.clients.producer.Producer;
-import org.apache.kafka.clients.producer.ProducerRecord;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.time.Instant;
-import java.util.Arrays;
-import java.util.Properties;
-
-public class KafkaAppender extends UnsynchronizedAppenderBase<ILoggingEvent> {
-    private final static Logger logger = LoggerFactory.getLogger(KafkaAppender.class);
-
-    private final Producer<String, String> producer;
-    private final String kafkaTopic;
-
-    private  ServerId serverId = null;
-
-    public KafkaAppender(String kafkaHost, String kafkaTopicPrefix) {
-        Properties props = new Properties();
-        props.put("bootstrap.servers", kafkaHost);
-        props.put("acks", "0");
-        props.put("retries", 0);
-        props.put("batch.size", 16384);
-        props.put("linger.ms", 10000); // Send the batch every 10 seconds
-        props.put("buffer.memory", 33554432);
-        props.put("producer.type", "async");
-        props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
-        props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
-        this.kafkaTopic = createKafkaTopic(kafkaTopicPrefix);
-        logger.info("Starting kafka producer: bootstrap-server:{}, topic : {}", kafkaHost, this.kafkaTopic);
-        this.producer = new KafkaProducer<>(props);
-        if(ServerSettings.isRunningOnAws()) {
-            final AwsMetadata awsMetadata = new AwsMetadata();
-            serverId = new ServerId(awsMetadata.getId(), awsMetadata.getHostname(),
-                    BuildConstant.VERSION, ServerSettings.getServerRoles());
-        } else {
-            serverId = new ServerId(ServerSettings.getIp(), ServerSettings.getIp(),
-                    BuildConstant.VERSION, ServerSettings.getServerRoles());
-        }
-    }
-
-    @Override
-    protected void append(ILoggingEvent event) {
-        event.prepareForDeferredProcessing();
-        //todo do more elegant streaming approach to publish logs
-
-        if (!event.getLevel().equals(Level.ALL) &&         // OFF AND ALL are not loggable levels
-                !event.getLevel().equals(Level.OFF)) {
-            final IThrowableProxy throwableProxy = event.getThrowableProxy();
-            final LogEntry entry = throwableProxy != null ?
-                    new LogEntry(serverId, event.getFormattedMessage(), Instant.ofEpochMilli(event.getTimeStamp()).toString(),
-                            event.getLevel().toString(), event.getLoggerName(), event.getMDCPropertyMap(),
-                            event.getThreadName() != null ? event.getThreadName() : null,
-                            new Exception(throwableProxy.getMessage(), toStringArray(throwableProxy.getStackTraceElementProxyArray())
-                            , throwableProxy.getClassName()))
-                    : new LogEntry(serverId, event.getFormattedMessage(), Instant.ofEpochMilli(event.getTimeStamp()).toString(),
-                    event.getLevel().toString(), event.getLoggerName(), event.getMDCPropertyMap(),
-                    event.getThreadName() != null ? event.getThreadName() : null);
-            producer.send(new ProducerRecord<>(kafkaTopic, new Gson().toJson(entry)));
-        }
-    }
-
-
-    private String[] toStringArray(StackTraceElementProxy[] stackTraceElement) {
-        return Arrays.stream(stackTraceElement).map(StackTraceElementProxy::getSTEAsString).toArray(String[]::new);
-    }
-
-    private String createKafkaTopic(String kafkaTopicPrefix) {
-        final String[] serverRoles = ServerSettings.getServerRoles();
-        if (serverRoles.length >= 4) {
-            return String.format("%s_all_logs", kafkaTopicPrefix);
-        }
-        return String.format("%s_%s_logs", kafkaTopicPrefix, ServerSettings.getServerRoles()[0]);
-    }
-
-    public void close() {
-        producer.close();
-    }
-}
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataZKUtils.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataZKUtils.java
deleted file mode 100644
index bdab6ac..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataZKUtils.java
+++ /dev/null
@@ -1,197 +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.airavata.common.utils;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.curator.framework.CuratorFramework;
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.data.Stat;
-import org.apache.zookeeper.server.ServerCnxnFactory;
-import org.apache.zookeeper.server.ServerConfig;
-import org.apache.zookeeper.server.ZooKeeperServer;
-import org.apache.zookeeper.server.persistence.FileTxnSnapLog;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.nio.ByteBuffer;
-
-public class AiravataZKUtils implements Watcher {
-    private final static Logger logger = LoggerFactory.getLogger(AiravataZKUtils.class);
-
-    public static final String ZK_EXPERIMENT_STATE_NODE = "state";
-    public static final String DELIVERY_TAG_POSTFIX = "-deliveryTag";
-    public static final String CANCEL_DELIVERY_TAG_POSTFIX = "-cancel-deliveryTag";
-
-    @Override
-    public void process(WatchedEvent event) {
-
-    }
-
-    public static String getExpZnodePath(String experimentId) throws ApplicationSettingsException {
-        return  "/experiments" + File.separator + ServerSettings.getGFacServerName() + File.separator + experimentId;
-    }
-
-    public static String getExpZnodeHandlerPath(String experimentId, String className) throws ApplicationSettingsException {
-	    return "/experiments" + File.separator + ServerSettings.getGFacServerName() + File.separator + experimentId +
-			    File.separator + className;
-    }
-
-    public static String getZKhostPort() throws ApplicationSettingsException {
-	    return ServerSettings.getZookeeperConnection();
-    }
-
-    public static int getZKTimeout()throws ApplicationSettingsException {
-        return ServerSettings.getZookeeperTimeout();
-    }
-
-    public static String getExpStatePath(String experimentId) throws ApplicationSettingsException {
-        return AiravataZKUtils.getExpZnodePath(experimentId) +
-                File.separator +
-                "state";
-    }
-
-    public static String getExpState(CuratorFramework curatorClient, String expId) throws Exception {
-        Stat exists = curatorClient.checkExists().forPath(getExpStatePath(expId));
-        if (exists != null) {
-            return new String(curatorClient.getData().storingStatIn(exists).forPath(getExpStatePath(expId)));
-        }
-        return null;
-    }
-
-    public static void runZKFromConfig(ServerConfig config,ServerCnxnFactory cnxnFactory) throws IOException {
-        AiravataZKUtils.logger.info("Starting Zookeeper server...");
-        FileTxnSnapLog txnLog = null;
-        try {
-            // Note that this thread isn't going to be doing anything else,
-            // so rather than spawning another thread, we will just call
-            // run() in this thread.
-            // create a file logger url from the command line args
-            ZooKeeperServer zkServer = new ZooKeeperServer();
-
-            txnLog = new FileTxnSnapLog(new File(config.getDataDir()), new File(
-                    config.getDataDir()));
-            zkServer.setTxnLogFactory(txnLog);
-            zkServer.setTickTime(config.getTickTime());
-            zkServer.setMinSessionTimeout(config.getMinSessionTimeout());
-            zkServer.setMaxSessionTimeout(config.getMaxSessionTimeout());
-            cnxnFactory = ServerCnxnFactory.createFactory();
-            cnxnFactory.configure(config.getClientPortAddress(),
-                    config.getMaxClientCnxns());
-            cnxnFactory.startup(zkServer);
-            cnxnFactory.join();
-            if (zkServer.isRunning()) {
-                zkServer.shutdown();
-            }
-        } catch (InterruptedException e) {
-            // warn, but generally this is ok
-            AiravataZKUtils.logger.warn("Server interrupted", e);
-            System.exit(1);
-        } finally {
-            if (txnLog != null) {
-                txnLog.close();
-            }
-        }
-    }
-
-    public static void startEmbeddedZK(ServerCnxnFactory cnxnFactory) {
-        if (ServerSettings.isEmbeddedZK()) {
-            ServerConfig serverConfig = new ServerConfig();
-            URL resource = ApplicationSettings.loadFile("zoo.cfg");
-            try {
-                if (resource == null) {
-                    logger.error("There is no zoo.cfg file in the classpath... Failed to start Zookeeper Server");
-                    System.exit(1);
-                }
-                serverConfig.parse(resource.getPath());
-
-            } catch (QuorumPeerConfig.ConfigException e) {
-                logger.error("Error while starting embedded Zookeeper", e);
-                System.exit(2);
-            }
-
-            final ServerConfig fServerConfig = serverConfig;
-            final ServerCnxnFactory fserverCnxnFactory = cnxnFactory;
-            (new Thread() {
-                public void run() {
-                    try {
-                        AiravataZKUtils.runZKFromConfig(fServerConfig,fserverCnxnFactory);
-                    } catch (IOException e) {
-                        logger.error("Error while starting embedded Zookeeper", e);
-                        System.exit(3);
-                    }
-                }
-            }).start();
-        }else{
-            logger.info("Skipping Zookeeper embedded startup ...");
-        }
-    }
-
-    public static byte[] toByteArray(double value) {
-        byte[] bytes = new byte[8];
-        ByteBuffer.wrap(bytes).putDouble(value);
-        return bytes;
-    }
-
-    public static long getDeliveryTag(String experimentID, CuratorFramework curatorClient, String experimentNode,
-                                      String pickedChild) throws Exception {
-        String deliveryTagPath = experimentNode + File.separator + pickedChild + File.separator + experimentID
-                + DELIVERY_TAG_POSTFIX;
-        Stat exists = curatorClient.checkExists().forPath(deliveryTagPath);
-        if(exists==null) {
-            logger.error("Cannot find delivery Tag in path:" + deliveryTagPath + " for this experiment");
-            return -1;
-        }
-        return bytesToLong(curatorClient.getData().storingStatIn(exists).forPath(deliveryTagPath));
-    }
-    public static byte[] longToBytes(long x) {
-        ByteBuffer buffer = ByteBuffer.allocate(Long.BYTES);
-        buffer.putLong(x);
-        return buffer.array();
-    }
-
-    public static long bytesToLong(byte[] bytes) {
-        ByteBuffer buffer = ByteBuffer.allocate(Long.BYTES);
-        buffer.put(bytes);
-        buffer.flip();//need flip
-        return buffer.getLong();
-    }
-
-    public static double toDouble(byte[] bytes) {
-        return ByteBuffer.wrap(bytes).getDouble();
-    }
-
-    public static long getCancelDeliveryTagIfExist(String experimentId, CuratorFramework curatorClient,
-                                                   String experimentNode, String pickedChild) throws Exception {
-
-        String cancelDeliveryTagPath = experimentNode + File.separator + pickedChild + File.separator + experimentId +
-                AiravataZKUtils.CANCEL_DELIVERY_TAG_POSTFIX;
-        Stat exists = curatorClient.checkExists().forPath(cancelDeliveryTagPath);
-        if (exists == null) {
-            return -1; // no cancel deliverytag found
-        } else {
-            return bytesToLong(curatorClient.getData().storingStatIn(exists).forPath(cancelDeliveryTagPath));
-        }
-    }
-}
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/AwsMetadata.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/AwsMetadata.java
deleted file mode 100644
index 0d96b0c..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/AwsMetadata.java
+++ /dev/null
@@ -1,136 +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.airavata.common.utils;
-
-
-import com.google.common.base.Preconditions;
-import com.google.common.net.InetAddresses;
-import com.google.gson.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.net.InetAddress;
-import java.net.URI;
-import java.net.URISyntaxException;
-
-public class AwsMetadata {
-    private static final Logger log = LoggerFactory.getLogger(AwsMetadata.class);
-    private static final String METADATA_URI_BASE = "http://169.254.169.254/";
-    private static final String REGION_SUFFIX = "/latest/dynamic/instance-identity/document";
-    private static final String ZONE_SUFFIX = "/latest/meta-data/placement/availability-zone";
-    private static final String PUBLIC_IPV4_SUFFIX = "/latest/meta-data/public-ipv4";
-    private static final String PRIVATE_IPV4_SUFFIX = "latest/meta-data/local-ipv4";
-    private static final String HOSTNAME_SUFFIX = "/latest/meta-data/hostname";
-    private static final String ID_SUFFIX = "/latest/meta-data/instance-id";
-
-    private final URI baseUri;
-
-    private String id;
-    private String region;
-    private String hostname;
-    private String zone;
-    private InetAddress publicIp;
-    private InetAddress privateIp;
-
-    public AwsMetadata() {
-        try {
-            baseUri = new URI(METADATA_URI_BASE);
-        } catch (URISyntaxException e) {
-            Preconditions.checkState(false, "Unexpected URI Syntax Exception: {}", e);
-            throw new RuntimeException(e);
-        }
-    }
-
-    public String getRegion() {
-        if (region == null) {
-            try {
-                String dynamicData = getMetadataAt(REGION_SUFFIX);
-                if (dynamicData != null) {
-                    final JsonObject asJsonObject = new JsonParser().parse(dynamicData).getAsJsonObject();
-                    region = asJsonObject.get("region").getAsString();
-                }
-            } catch (ClassCastException e) {
-                log.error("Unable to get region, expecting a JSON Object", e);
-            }
-        }
-        return region;
-    }
-
-    public String getZoneName() {
-        if (zone == null) {
-            zone = getMetadataAt(ZONE_SUFFIX);
-        }
-        return zone;
-    }
-
-    public String getId() {
-        if (id == null) {
-            id = getMetadataAt(ID_SUFFIX);
-        }
-
-        return id;
-    }
-
-    public String getHostname() {
-        if (hostname == null) {
-            hostname = getMetadataAt(HOSTNAME_SUFFIX);
-        }
-        return hostname;
-    }
-
-    public InetAddress getPublicIpAddress() {
-        if (publicIp == null) {
-            String ip = getMetadataAt(PUBLIC_IPV4_SUFFIX);
-            if (ip != null) {
-                publicIp = InetAddresses.forString(ip);
-            }
-        }
-        return publicIp;
-    }
-
-    public InetAddress getInternalIpAddress() {
-        if (privateIp == null) {
-            String ip = getMetadataAt(PRIVATE_IPV4_SUFFIX);
-            if (ip != null) {
-                privateIp = InetAddresses.forString(ip);
-            }
-        }
-        return privateIp;
-    }
-
-    private String getMetadataAt(String suffix) {
-        try {
-            URI resolved = baseUri.resolve(suffix);
-            StringBuilder builder = new StringBuilder();
-            String line = null;
-            try (BufferedReader reader = new BufferedReader(new InputStreamReader(resolved.toURL().openStream()))) {
-                while ((line = reader.readLine()) != null) {
-                    builder.append(line);
-                }
-                return builder.toString();
-            }
-        } catch (Exception e) {
-            // ignore for now to make sure local servers don't go verbose
-        }
-        return null;
-    }
-}
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/BrowserLauncher.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/BrowserLauncher.java
deleted file mode 100644
index bd47273..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/BrowserLauncher.java
+++ /dev/null
@@ -1,96 +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.airavata.common.utils;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.URL;
-
-import org.apache.airavata.common.exception.AiravataException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Opens URLs with the OS-specific browser.
- */
-public class BrowserLauncher {
-
-    private static final String ERROR_MESSAGE = "Error while attempting to launch web browser";
-
-    private static Logger logger = LoggerFactory.getLogger(BrowserLauncher.class);
-
-    /**
-     * Opens a specified URL with the browser.
-     * 
-     * @param url
-     *            The specified URL.
-     * @throws AiravataException
-     */
-    public static void openURL(URL url) throws AiravataException {
-        openURL(url.toString());
-    }
-
-    /**
-     * Opens a specified URL with the browser.
-     * 
-     * @param url
-     *            The specified URL.
-     * @throws AiravataException
-     */
-    public static void openURL(String url) throws AiravataException {
-        logger.debug("Enter:" + url);
-        String osName = System.getProperty("os.name");
-        try {
-            if (osName.startsWith("Mac OS")) {
-                Class macUtils = Class.forName("com.apple.mrj.MRJFileUtils");
-                Method openURL = macUtils.getDeclaredMethod("openURL", new Class[] { String.class });
-                openURL.invoke(null, new Object[] { url });
-            } else if (osName.startsWith("Windows"))
-                Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
-            else { // assume Unix or Linux
-                String[] browsers = { "firefox", "mozilla", "netscape", "opera", "konqueror" };
-                String browser = null;
-                for (int count = 0; count < browsers.length && browser == null; count++)
-                    if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
-                        browser = browsers[count];
-                if (browser == null) {
-                    throw new AiravataException("Could not find web browser.");
-                } else {
-                    Runtime.getRuntime().exec(new String[] { browser, url });
-                }
-            }
-        } catch (ClassNotFoundException e) {
-            throw new AiravataException(ERROR_MESSAGE, e);
-        } catch (NoSuchMethodException e) {
-            throw new AiravataException(ERROR_MESSAGE, e);
-        } catch (IllegalAccessException e) {
-            throw new AiravataException(ERROR_MESSAGE, e);
-        } catch (InvocationTargetException e) {
-            throw new AiravataException(ERROR_MESSAGE, e);
-        } catch (IOException e) {
-            throw new AiravataException(ERROR_MESSAGE, e);
-        } catch (InterruptedException e) {
-            throw new AiravataException(ERROR_MESSAGE, e);
-        } catch (RuntimeException e) {
-            throw new AiravataException(ERROR_MESSAGE, e);
-        }
-    }
-}
\ No newline at end of file
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ClientSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ClientSettings.java
deleted file mode 100644
index ef552a2..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ClientSettings.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.
- */
-package org.apache.airavata.common.utils;
-
-
-public class ClientSettings extends ApplicationSettings {
-
-}
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
index e740cf5..003ddb0 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
@@ -116,9 +116,6 @@ public class ServerSettings extends ApplicationSettings {
     private static final String ENABLE_EMAIL_BASED_MONITORING = "enable.email.based.monitoring";
 
     private static final String IS_RUNNING_ON_AWS = "isRunningOnAws";
-    private static final String ENABLE_KAFKA_LOGGING = "enable.kafka.logging";
-    private static final String KAFKA_BROKER_LIST = "kafka.broker.list";
-    private static final String KAFKA_TOPIC_PREFIX = "kafka.topic.prefix";
     private static final String SERVER_ROLES = "server.roles";
 
     //User Profile onstants
@@ -451,18 +448,6 @@ public class ServerSettings extends ApplicationSettings {
         return Boolean.valueOf(getSetting(IS_RUNNING_ON_AWS, "false"));
     }
 
-    public static String getKafkaBrokerList() {
-        return getSetting(KAFKA_BROKER_LIST, null);
-    }
-
-    public static String getKafkaTopicPrefix() {
-        return getSetting(KAFKA_TOPIC_PREFIX, "all");
-    }
-
-    public static boolean isEnabledKafkaLogging() {
-        return Boolean.valueOf(getSetting(ENABLE_KAFKA_LOGGING, "false"));
-    }
-
     public static void setServerRoles(String[] roles) {
         listConfigurations.put(SERVER_ROLES, roles);
     }
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/listener/AbstractActivityListener.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/listener/AbstractActivityListener.java
deleted file mode 100644
index a1e824d..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/listener/AbstractActivityListener.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.
- */
-package org.apache.airavata.common.utils.listener;
-
-
-public interface AbstractActivityListener {
-	public void setup(Object... configurations);
-}
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/listener/AbstractStateChangeRequest.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/listener/AbstractStateChangeRequest.java
deleted file mode 100644
index 27bb9a9..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/listener/AbstractStateChangeRequest.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.
- */
-package org.apache.airavata.common.utils.listener;
-
-
-public abstract class AbstractStateChangeRequest implements PublisherMessage {
-
-}
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/listener/PublisherMessage.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/listener/PublisherMessage.java
deleted file mode 100644
index 9c9afb6..0000000
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/listener/PublisherMessage.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.
- */
-package org.apache.airavata.common.utils.listener;
-
-public interface PublisherMessage {
-//	public String getType();
-}
diff --git a/modules/compute-account-provisioning/pom.xml b/modules/compute-account-provisioning/pom.xml
index 00d16b0..53d7ec1 100644
--- a/modules/compute-account-provisioning/pom.xml
+++ b/modules/compute-account-provisioning/pom.xml
@@ -47,10 +47,6 @@
             <artifactId>jsch</artifactId>
             <version>0.1.50</version>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
         <!-- apache directory ldap api! -->
         <dependency>
             <groupId>org.apache.directory.api</groupId>
diff --git a/modules/configuration/server/src/main/resources/airavata.jks b/modules/configuration/server/src/main/resources/airavata.jks
deleted file mode 100644
index e0e46e2..0000000
Binary files a/modules/configuration/server/src/main/resources/airavata.jks and /dev/null differ
diff --git a/modules/configuration/server/src/main/resources/airavata.pem b/modules/configuration/server/src/main/resources/airavata.pem
deleted file mode 100644
index 242d955..0000000
Binary files a/modules/configuration/server/src/main/resources/airavata.pem and /dev/null differ
diff --git a/modules/configuration/server/src/main/resources/client_truststore.jks b/modules/configuration/server/src/main/resources/client_truststore.jks
deleted file mode 100644
index 4ff588f..0000000
Binary files a/modules/configuration/server/src/main/resources/client_truststore.jks and /dev/null differ
diff --git a/modules/configuration/server/src/main/resources/log4j2.xml b/modules/configuration/server/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/configuration/server/src/main/resources/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/configuration/server/src/main/resources/logback.xml b/modules/configuration/server/src/main/resources/logback.xml
deleted file mode 100644
index 2e549b2..0000000
--- a/modules/configuration/server/src/main/resources/logback.xml
+++ /dev/null
@@ -1,58 +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.
-
--->
-<configuration>
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>[%p] %m%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
-        <!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
-        <!--for further documentation-->
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <!-- maxHistory is needed in order for totalSizeCap to be applied -->
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="edu.internet2.middleware.grouper" level="ERROR"/>
-    <logger name="org.globus" level="INFO"/>
-    <logger name="org.apache.commons.httpclient" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <logger name="de.hunsicker.jalopy.io" level="ERROR"/>
-    <logger name="httpclient.wire.header" level="ERROR"/>
-    <logger name="org.apache.axis2.enterprise" level="ERROR"/>
-    <root level="INFO">
-        <!--<appender-ref ref="CONSOLE"/>-->
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/credential-store/credential-store-service/pom.xml b/modules/credential-store/credential-store-service/pom.xml
index 74ed465..893041f 100644
--- a/modules/credential-store/credential-store-service/pom.xml
+++ b/modules/credential-store/credential-store-service/pom.xml
@@ -43,6 +43,12 @@
             <groupId>edu.uiuc.ncsa.myproxy</groupId>
             <artifactId>oa4mp-client-api</artifactId>
             <version>${oa4mp.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>edu.uiuc.ncsa.myproxy</groupId>
@@ -68,15 +74,6 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <!--<dependency>-->
-        <!--<groupId>mysql</groupId>-->
-        <!--<artifactId>mysql-connector-java</artifactId>-->
-        <!--<version>5.1.34</version>-->
-        <!--</dependency>-->
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>4.7</version>
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index d305d3f..5f89963 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -56,10 +56,6 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
         <dependency>
@@ -378,12 +374,6 @@
             <artifactId>kafka-clients</artifactId>
             <version>${kafka-clients.version}</version>
         </dependency>
-        <!-- Use logback as the runtime binding for SLF4J -->
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <version>${logback.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.codehaus.groovy</groupId>
             <artifactId>groovy</artifactId>
diff --git a/modules/distribution/src/main/assembly/api-server-bin-assembly.xml b/modules/distribution/src/main/assembly/api-server-bin-assembly.xml
index 3e90814..414e9f6 100644
--- a/modules/distribution/src/main/assembly/api-server-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/api-server-bin-assembly.xml
@@ -121,7 +121,7 @@
                 <include>airavata-server.properties</include>
                 <include>zoo.cfg</include>
                 <include>registry.properties</include>
-                <include>logback.xml</include>
+                <include>log4j2.xml</include>
                 <include>host.xml</include>
                 <include>persistence.xml</include>
                 <include>provenance.sql</include>
diff --git a/modules/distribution/src/main/assembly/controller-bin-assembly.xml b/modules/distribution/src/main/assembly/controller-bin-assembly.xml
index 893499a..d81b1e5 100644
--- a/modules/distribution/src/main/assembly/controller-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/controller-bin-assembly.xml
@@ -57,7 +57,7 @@
             <outputDirectory>conf</outputDirectory>
             <includes>
                 <include>airavata-server.properties</include>
-                <include>logback.xml</include>
+                <include>log4j2.xml</include>
             </includes>
         </fileSet>
         <fileSet>
@@ -130,8 +130,6 @@
                 <include>org.apache.kafka:kafka-clients:jar</include>
                 <include>org.apache.thrift:libthrift:jar</include>
                 <include>org.slf4j:log4j-over-slf4j:jar</include>
-                <include>ch.qos.logback:logback-classic:jar</include>
-                <include>ch.qos.logback:logback-core:jar</include>
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
@@ -144,6 +142,10 @@
                 <include>org.apache.airavata:registry-api-stubs:jar</include>
                 <include>net.sourceforge.serp:serp:jar</include>
                 <include>org.slf4j:slf4j-api:jar</include>
+                <include>org.apache.logging.log4j:log4j-api</include>
+                <include>org.apache.logging.log4j:log4j-core</include>
+                <include>org.apache.logging.log4j:log4j-slf4j-impl</include>
+                <include>org.apache.logging.log4j:log4j-1.2-api</include>
                 <include>org.yaml:snakeyaml:jar</include>
                 <include>org.xerial.snappy:snappy-java:jar</include>
                 <include>org.apache.airavata:ssh-agent:jar</include>
@@ -168,7 +170,6 @@
             </includes>
             <excludes>
                 <exclude>mysql:mysql-connector-java:jar</exclude>
-                <exclude>log4j:log4j:jar</exclude>
             </excludes>
         </dependencySet>
     </dependencySets>
diff --git a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
index ca5ba28..120c4fc 100644
--- a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
@@ -59,7 +59,7 @@
             <includes>
                 <include>airavata-server.properties</include>
                 <include>email-config.yaml</include>
-                <include>logback.xml</include>
+                <include>log4j2.xml</include>
             </includes>
         </fileSet>
 
@@ -113,9 +113,11 @@
 
                 <!-- logging jars -->
                 <include>org.slf4j:slf4j-api:jar</include>
-                <include>ch.qos.logback:logback-classic:jar</include>
-                <include>ch.qos.logback:logback-core:jar</include>
                 <include>org.slf4j:log4j-over-slf4j:jar</include>
+                <include>org.apache.logging.log4j:log4j-api</include>
+                <include>org.apache.logging.log4j:log4j-core</include>
+                <include>org.apache.logging.log4j:log4j-slf4j-impl</include>
+                <include>org.apache.logging.log4j:log4j-1.2-api</include>
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.apache.commons:commons-pool2:jar</include>
diff --git a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
index 07519e8..0107642 100644
--- a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
@@ -57,7 +57,7 @@
             <outputDirectory>conf</outputDirectory>
             <includes>
                 <include>airavata-server.properties</include>
-                <include>logback.xml</include>
+                <include>log4j2.xml</include>
             </includes>
         </fileSet>
         <fileSet>
@@ -130,8 +130,10 @@
                 <include>org.apache.kafka:kafka-clients:jar</include>
                 <include>org.apache.thrift:libthrift:jar</include>
                 <include>org.slf4j:log4j-over-slf4j:jar</include>
-                <include>ch.qos.logback:logback-classic:jar</include>
-                <include>ch.qos.logback:logback-core:jar</include>
+                <include>org.apache.logging.log4j:log4j-api</include>
+                <include>org.apache.logging.log4j:log4j-core</include>
+                <include>org.apache.logging.log4j:log4j-slf4j-impl</include>
+                <include>org.apache.logging.log4j:log4j-1.2-api</include>
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
@@ -169,7 +171,6 @@
             </includes>
             <excludes>
                 <exclude>mysql:mysql-connector-java:jar</exclude>
-                <exclude>log4j:log4j:jar</exclude>
             </excludes>
         </dependencySet>
     </dependencySets>
diff --git a/modules/distribution/src/main/assembly/participant-bin-assembly.xml b/modules/distribution/src/main/assembly/participant-bin-assembly.xml
index ab74c39..2690196 100644
--- a/modules/distribution/src/main/assembly/participant-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/participant-bin-assembly.xml
@@ -57,7 +57,7 @@
             <outputDirectory>conf</outputDirectory>
             <includes>
                 <include>airavata-server.properties</include>
-                <include>logback.xml</include>
+                <include>log4j2.xml</include>
                 <include>cred_store.jks</include>
             </includes>
         </fileSet>
@@ -132,8 +132,10 @@
                 <include>org.apache.kafka:kafka-clients:jar</include>
                 <include>org.apache.thrift:libthrift:jar</include>
                 <include>org.slf4j:log4j-over-slf4j:jar</include>
-                <include>ch.qos.logback:logback-classic:jar</include>
-                <include>ch.qos.logback:logback-core:jar</include>
+                <include>org.apache.logging.log4j:log4j-api</include>
+                <include>org.apache.logging.log4j:log4j-core</include>
+                <include>org.apache.logging.log4j:log4j-slf4j-impl</include>
+                <include>org.apache.logging.log4j:log4j-1.2-api</include>
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
@@ -219,7 +221,6 @@
             </includes>
             <excludes>
                 <exclude>mysql:mysql-connector-java:jar</exclude>
-                <exclude>log4j:log4j:jar</exclude>
             </excludes>
         </dependencySet>
     </dependencySets>
diff --git a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
index 860261e..e144208 100644
--- a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
@@ -57,7 +57,7 @@
             <outputDirectory>conf</outputDirectory>
             <includes>
                 <include>airavata-server.properties</include>
-                <include>logback.xml</include>
+                <include>log4j2.xml</include>
             </includes>
         </fileSet>
         <fileSet>
@@ -129,9 +129,12 @@
                 <include>com.jcraft:jzlib:jar</include>
                 <include>org.apache.kafka:kafka-clients:jar</include>
                 <include>org.apache.thrift:libthrift:jar</include>
+                <include>org.slf4j:slf4j-api:jar</include>
                 <include>org.slf4j:log4j-over-slf4j:jar</include>
-                <include>ch.qos.logback:logback-classic:jar</include>
-                <include>ch.qos.logback:logback-core:jar</include>
+                <include>org.apache.logging.log4j:log4j-api</include>
+                <include>org.apache.logging.log4j:log4j-core</include>
+                <include>org.apache.logging.log4j:log4j-slf4j-impl</include>
+                <include>org.apache.logging.log4j:log4j-1.2-api</include>
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
@@ -143,7 +146,6 @@
                 <include>org.apache.airavata:registry-api-service:jar</include>
                 <include>org.apache.airavata:registry-api-stubs:jar</include>
                 <include>net.sourceforge.serp:serp:jar</include>
-                <include>org.slf4j:slf4j-api:jar</include>
                 <include>org.yaml:snakeyaml:jar</include>
                 <include>org.xerial.snappy:snappy-java:jar</include>
                 <include>org.apache.airavata:ssh-agent:jar</include>
@@ -173,7 +175,6 @@
             </includes>
             <excludes>
                 <exclude>mysql:mysql-connector-java:jar</exclude>
-                <exclude>log4j:log4j:jar</exclude>
             </excludes>
         </dependencySet>
     </dependencySets>
diff --git a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
index fe47ad2..eb4fc14 100644
--- a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
@@ -57,7 +57,7 @@
             <outputDirectory>conf</outputDirectory>
             <includes>
                 <include>airavata-server.properties</include>
-                <include>logback.xml</include>
+                <include>log4j2.xml</include>
             </includes>
         </fileSet>
         <fileSet>
@@ -129,9 +129,12 @@
                 <include>com.jcraft:jzlib:jar</include>
                 <include>org.apache.kafka:kafka-clients:jar</include>
                 <include>org.apache.thrift:libthrift:jar</include>
+                <include>org.slf4j:slf4j-api:jar</include>
                 <include>org.slf4j:log4j-over-slf4j:jar</include>
-                <include>ch.qos.logback:logback-classic:jar</include>
-                <include>ch.qos.logback:logback-core:jar</include>
+                <include>org.apache.logging.log4j:log4j-api</include>
+                <include>org.apache.logging.log4j:log4j-core</include>
+                <include>org.apache.logging.log4j:log4j-slf4j-impl</include>
+                <include>org.apache.logging.log4j:log4j-1.2-api</include>
                 <include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 <include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
@@ -143,7 +146,6 @@
                 <include>org.apache.airavata:registry-api-service:jar</include>
                 <include>org.apache.airavata:registry-api-stubs:jar</include>
                 <include>net.sourceforge.serp:serp:jar</include>
-                <include>org.slf4j:slf4j-api:jar</include>
                 <include>org.yaml:snakeyaml:jar</include>
                 <include>org.xerial.snappy:snappy-java:jar</include>
                 <include>org.apache.airavata:ssh-agent:jar</include>
@@ -172,7 +174,6 @@
             </includes>
             <excludes>
                 <exclude>mysql:mysql-connector-java:jar</exclude>
-                <exclude>log4j:log4j:jar</exclude>
             </excludes>
         </dependencySet>
     </dependencySets>
diff --git a/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml b/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml
index e12dffe..6944aec 100644
--- a/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml
@@ -58,7 +58,7 @@
             <fileMode>777</fileMode>
             <includes>
                 <include>airavata-server.properties</include>
-                <include>logback.xml</include>
+                <include>log4j2.xml</include>
             </includes>
         </fileSet>
 
@@ -108,11 +108,11 @@
 
                 <!-- logging jars -->
                 <include>org.slf4j:slf4j-api:jar</include>
-                <include>ch.qos.logback:logback-classic:jar</include>
-                <include>ch.qos.logback:logback-core:jar</include>
                 <include>org.slf4j:log4j-over-slf4j:jar</include>
-                <include>com.github.danielwegener:logback-kafka-appender:jar</include>
-                <include>net.logstash.logback:logstash-logback-encoder:jar</include>
+                <include>org.apache.logging.log4j:log4j-api</include>
+                <include>org.apache.logging.log4j:log4j-core</include>
+                <include>org.apache.logging.log4j:log4j-slf4j-impl</include>
+                <include>org.apache.logging.log4j:log4j-1.2-api</include>
 
                 <include>org.apache.commons:commons-pool2:jar</include>
                 <include>org.json:json:jar</include>
diff --git a/modules/distribution/src/main/resources/controller/bin/controller-daemon.sh b/modules/distribution/src/main/resources/controller/bin/controller-daemon.sh
index f970d29..80856e1 100644
--- a/modules/distribution/src/main/resources/controller/bin/controller-daemon.sh
+++ b/modules/distribution/src/main/resources/controller/bin/controller-daemon.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/controller/bin/controller.sh b/modules/distribution/src/main/resources/controller/bin/controller.sh
index dfd6d9f..56a17b7 100644
--- a/modules/distribution/src/main/resources/controller/bin/controller.sh
+++ b/modules/distribution/src/main/resources/controller/bin/controller.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/controller/conf/log4j2.xml b/modules/distribution/src/main/resources/controller/conf/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/distribution/src/main/resources/controller/conf/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/distribution/src/main/resources/controller/conf/logback.xml b/modules/distribution/src/main/resources/controller/conf/logback.xml
deleted file mode 100644
index ef38b65..0000000
--- a/modules/distribution/src/main/resources/controller/conf/logback.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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/distribution/src/main/resources/email-monitor/bin/email-monitor-daemon.sh b/modules/distribution/src/main/resources/email-monitor/bin/email-monitor-daemon.sh
index 752a3d2..a30193b 100644
--- a/modules/distribution/src/main/resources/email-monitor/bin/email-monitor-daemon.sh
+++ b/modules/distribution/src/main/resources/email-monitor/bin/email-monitor-daemon.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/email-monitor/bin/email-monitor.sh b/modules/distribution/src/main/resources/email-monitor/bin/email-monitor.sh
index 662e215..7818e5f 100644
--- a/modules/distribution/src/main/resources/email-monitor/bin/email-monitor.sh
+++ b/modules/distribution/src/main/resources/email-monitor/bin/email-monitor.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/email-monitor/conf/log4j2.xml b/modules/distribution/src/main/resources/email-monitor/conf/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/distribution/src/main/resources/email-monitor/conf/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/distribution/src/main/resources/email-monitor/conf/logback.xml b/modules/distribution/src/main/resources/email-monitor/conf/logback.xml
deleted file mode 100644
index ef38b65..0000000
--- a/modules/distribution/src/main/resources/email-monitor/conf/logback.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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/distribution/src/main/resources/parser-wm/bin/parser-wm-daemon.sh b/modules/distribution/src/main/resources/parser-wm/bin/parser-wm-daemon.sh
index 713ac59..98c5efd 100644
--- a/modules/distribution/src/main/resources/parser-wm/bin/parser-wm-daemon.sh
+++ b/modules/distribution/src/main/resources/parser-wm/bin/parser-wm-daemon.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/parser-wm/bin/parser-wm.sh b/modules/distribution/src/main/resources/parser-wm/bin/parser-wm.sh
index 352e3d7..2d73401 100644
--- a/modules/distribution/src/main/resources/parser-wm/bin/parser-wm.sh
+++ b/modules/distribution/src/main/resources/parser-wm/bin/parser-wm.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/parser-wm/conf/log4j2.xml b/modules/distribution/src/main/resources/parser-wm/conf/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/distribution/src/main/resources/parser-wm/conf/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/distribution/src/main/resources/parser-wm/conf/logback.xml b/modules/distribution/src/main/resources/parser-wm/conf/logback.xml
deleted file mode 100644
index ef38b65..0000000
--- a/modules/distribution/src/main/resources/parser-wm/conf/logback.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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/distribution/src/main/resources/participant/bin/participant-daemon.sh b/modules/distribution/src/main/resources/participant/bin/participant-daemon.sh
index 0d3a706..4efd413 100644
--- a/modules/distribution/src/main/resources/participant/bin/participant-daemon.sh
+++ b/modules/distribution/src/main/resources/participant/bin/participant-daemon.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/participant/bin/participant.sh b/modules/distribution/src/main/resources/participant/bin/participant.sh
index bd14fd5..b840c1a 100644
--- a/modules/distribution/src/main/resources/participant/bin/participant.sh
+++ b/modules/distribution/src/main/resources/participant/bin/participant.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/participant/conf/log4j2.xml b/modules/distribution/src/main/resources/participant/conf/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/distribution/src/main/resources/participant/conf/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/distribution/src/main/resources/participant/conf/logback.xml b/modules/distribution/src/main/resources/participant/conf/logback.xml
deleted file mode 100644
index ef38b65..0000000
--- a/modules/distribution/src/main/resources/participant/conf/logback.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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/distribution/src/main/resources/post-wm/bin/post-wm-daemon.sh b/modules/distribution/src/main/resources/post-wm/bin/post-wm-daemon.sh
index bdc0009..dcc602c 100644
--- a/modules/distribution/src/main/resources/post-wm/bin/post-wm-daemon.sh
+++ b/modules/distribution/src/main/resources/post-wm/bin/post-wm-daemon.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/post-wm/bin/post-wm.sh b/modules/distribution/src/main/resources/post-wm/bin/post-wm.sh
index 24c9fe8..f206227 100644
--- a/modules/distribution/src/main/resources/post-wm/bin/post-wm.sh
+++ b/modules/distribution/src/main/resources/post-wm/bin/post-wm.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/post-wm/conf/log4j2.xml b/modules/distribution/src/main/resources/post-wm/conf/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/distribution/src/main/resources/post-wm/conf/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/distribution/src/main/resources/post-wm/conf/logback.xml b/modules/distribution/src/main/resources/post-wm/conf/logback.xml
deleted file mode 100644
index ef38b65..0000000
--- a/modules/distribution/src/main/resources/post-wm/conf/logback.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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/distribution/src/main/resources/pre-wm/bin/pre-wm-daemon.sh b/modules/distribution/src/main/resources/pre-wm/bin/pre-wm-daemon.sh
index 1b731a6..e831b87 100644
--- a/modules/distribution/src/main/resources/pre-wm/bin/pre-wm-daemon.sh
+++ b/modules/distribution/src/main/resources/pre-wm/bin/pre-wm-daemon.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/pre-wm/bin/pre-wm.sh b/modules/distribution/src/main/resources/pre-wm/bin/pre-wm.sh
index 8c297e8..8c1c2db 100644
--- a/modules/distribution/src/main/resources/pre-wm/bin/pre-wm.sh
+++ b/modules/distribution/src/main/resources/pre-wm/bin/pre-wm.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/pre-wm/conf/log4j2.xml b/modules/distribution/src/main/resources/pre-wm/conf/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/distribution/src/main/resources/pre-wm/conf/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/distribution/src/main/resources/pre-wm/conf/logback.xml b/modules/distribution/src/main/resources/pre-wm/conf/logback.xml
deleted file mode 100644
index ef38b65..0000000
--- a/modules/distribution/src/main/resources/pre-wm/conf/logback.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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/distribution/src/main/resources/realtime-monitor/bin/realtime-monitor-daemon.sh b/modules/distribution/src/main/resources/realtime-monitor/bin/realtime-monitor-daemon.sh
index a3a2dd5..f1cb326 100644
--- a/modules/distribution/src/main/resources/realtime-monitor/bin/realtime-monitor-daemon.sh
+++ b/modules/distribution/src/main/resources/realtime-monitor/bin/realtime-monitor-daemon.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/realtime-monitor/bin/realtime-monitor.sh b/modules/distribution/src/main/resources/realtime-monitor/bin/realtime-monitor.sh
index 48c513d..351029f 100644
--- a/modules/distribution/src/main/resources/realtime-monitor/bin/realtime-monitor.sh
+++ b/modules/distribution/src/main/resources/realtime-monitor/bin/realtime-monitor.sh
@@ -23,7 +23,7 @@ CWD="$PWD"
 cd ${AIRAVATA_HOME}/bin
 LOGO_FILE="logo.txt"
 
-JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlogback.configurationFile=file:${AIRAVATA_HOME}/conf/logback.xml"
+JAVA_OPTS="-Dairavata.config.dir=${AIRAVATA_HOME}/conf -Dairavata.home=${AIRAVATA_HOME} -Dlog4j.configurationFile=file:${AIRAVATA_HOME}/conf/log4j2.xml"
 AIRAVATA_COMMAND=""
 EXTRA_ARGS=""
 SERVERS=""
diff --git a/modules/distribution/src/main/resources/realtime-monitor/conf/log4j2.xml b/modules/distribution/src/main/resources/realtime-monitor/conf/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/distribution/src/main/resources/realtime-monitor/conf/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/distribution/src/main/resources/realtime-monitor/conf/logback.xml b/modules/distribution/src/main/resources/realtime-monitor/conf/logback.xml
deleted file mode 100644
index ef38b65..0000000
--- a/modules/distribution/src/main/resources/realtime-monitor/conf/logback.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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/ide-integration/src/main/resources/log4j2.xml b/modules/ide-integration/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/ide-integration/src/main/resources/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/resources/logback.xml b/modules/ide-integration/src/main/resources/logback.xml
deleted file mode 100644
index 98a8ca9..0000000
--- a/modules/ide-integration/src/main/resources/logback.xml
+++ /dev/null
@@ -1,54 +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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="ERROR"/>
-    <logger name="org.apache.helix" level="ERROR"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="RELAXED-KAFKA-APPENDER"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/job-monitor/email-monitor/pom.xml b/modules/job-monitor/email-monitor/pom.xml
index 3040837..4b5066e 100644
--- a/modules/job-monitor/email-monitor/pom.xml
+++ b/modules/job-monitor/email-monitor/pom.xml
@@ -44,17 +44,5 @@
             <groupId>javax.mail</groupId>
             <artifactId>mail</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>log4j-over-slf4j</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.github.danielwegener</groupId>
-            <artifactId>logback-kafka-appender</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>net.logstash.logback</groupId>
-            <artifactId>logstash-logback-encoder</artifactId>
-        </dependency>
     </dependencies>
 </project>
diff --git a/modules/job-monitor/email-monitor/src/main/resources/log4j2.xml b/modules/job-monitor/email-monitor/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/job-monitor/email-monitor/src/main/resources/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/job-monitor/email-monitor/src/main/resources/logback.xml b/modules/job-monitor/email-monitor/src/main/resources/logback.xml
deleted file mode 100644
index ef38b65..0000000
--- a/modules/job-monitor/email-monitor/src/main/resources/logback.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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/job-monitor/pom.xml b/modules/job-monitor/pom.xml
index 77898d5..e0731ce 100644
--- a/modules/job-monitor/pom.xml
+++ b/modules/job-monitor/pom.xml
@@ -49,21 +49,6 @@
                 <version>1.4.5</version>
             </dependency>
             <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>log4j-over-slf4j</artifactId>
-                <version>1.7.25</version>
-            </dependency>
-            <dependency>
-                <groupId>com.github.danielwegener</groupId>
-                <artifactId>logback-kafka-appender</artifactId>
-                <version>0.2.0-RC1</version>
-            </dependency>
-            <dependency>
-                <groupId>net.logstash.logback</groupId>
-                <artifactId>logstash-logback-encoder</artifactId>
-                <version>5.0</version>
-            </dependency>
-            <dependency>
                 <groupId>org.apache.airavata</groupId>
                 <artifactId>task-core</artifactId>
                 <version>${project.version}</version>
diff --git a/modules/job-monitor/real-time-monitor/pom.xml b/modules/job-monitor/real-time-monitor/pom.xml
index 50729e3..d6c789f 100644
--- a/modules/job-monitor/real-time-monitor/pom.xml
+++ b/modules/job-monitor/real-time-monitor/pom.xml
@@ -40,18 +40,6 @@
             <artifactId>airavata-commons</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>log4j-over-slf4j</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.github.danielwegener</groupId>
-            <artifactId>logback-kafka-appender</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>net.logstash.logback</groupId>
-            <artifactId>logstash-logback-encoder</artifactId>
-        </dependency>
     </dependencies>
 
 </project>
diff --git a/modules/job-monitor/real-time-monitor/src/main/resources/log4j2.xml b/modules/job-monitor/real-time-monitor/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/job-monitor/real-time-monitor/src/main/resources/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/job-monitor/real-time-monitor/src/main/resources/logback.xml b/modules/job-monitor/real-time-monitor/src/main/resources/logback.xml
deleted file mode 100644
index ef38b65..0000000
--- a/modules/job-monitor/real-time-monitor/src/main/resources/logback.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.
-
--->
-<configuration>
-
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <File>../logs/airavata.log</File>
-        <Append>true</Append>
-        <encoder>
-            <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>1GB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="org.apache.helix" level="WARN"/>
-    <logger name="org.apache.zookeeper" level="ERROR"/>
-    <logger name="org.apache.airavata" level="INFO"/>
-    <logger name="org.hibernate" level="ERROR"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="LOGFILE"/>
-    </root>
-</configuration>
diff --git a/modules/messaging/client/pom.xml b/modules/messaging/client/pom.xml
index 4013fdc..e422aab 100644
--- a/modules/messaging/client/pom.xml
+++ b/modules/messaging/client/pom.xml
@@ -37,10 +37,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-messaging-core</artifactId>
             <version>${project.version}</version>
@@ -56,11 +52,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-data-models</artifactId>
             <version>${project.version}</version>
diff --git a/modules/messaging/core/pom.xml b/modules/messaging/core/pom.xml
index c8d7024..6ae15f8 100644
--- a/modules/messaging/core/pom.xml
+++ b/modules/messaging/core/pom.xml
@@ -37,10 +37,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-commons</artifactId>
             <version>${project.version}</version>
@@ -56,11 +52,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-data-models</artifactId>
             <version>${project.version}</version>
diff --git a/modules/platform-monitoring/pom.xml b/modules/platform-monitoring/pom.xml
index 7380088..cbe87b7 100644
--- a/modules/platform-monitoring/pom.xml
+++ b/modules/platform-monitoring/pom.xml
@@ -33,11 +33,6 @@
 
 
     <dependencies>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>log4j-over-slf4j</artifactId>
-            <version>1.7.25</version>
-        </dependency>
         <!-- The client -->
         <dependency>
             <groupId>io.prometheus</groupId>
diff --git a/modules/registry/registry-core/pom.xml b/modules/registry/registry-core/pom.xml
index 35ef082..495018e 100644
--- a/modules/registry/registry-core/pom.xml
+++ b/modules/registry/registry-core/pom.xml
@@ -95,12 +95,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <version>${logback.version}</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-commons</artifactId>
             <version>${project.version}</version>
diff --git a/modules/registry/registry-core/src/test/resources/log4j2.xml b/modules/registry/registry-core/src/test/resources/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/registry/registry-core/src/test/resources/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/registry/registry-core/src/test/resources/logback.xml b/modules/registry/registry-core/src/test/resources/logback.xml
deleted file mode 100644
index 3dd3063..0000000
--- a/modules/registry/registry-core/src/test/resources/logback.xml
+++ /dev/null
@@ -1,31 +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.
-  ~
-  -->
-<configuration>
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>[%p] %m%n</pattern>
-        </encoder>
-    </appender>
-    <logger name="org.apache.airavata.registry" level="INFO"/>
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-    </root>
-</configuration>
diff --git a/modules/registry/registry-cpi/pom.xml b/modules/registry/registry-cpi/pom.xml
index 575a926..8e50242 100644
--- a/modules/registry/registry-cpi/pom.xml
+++ b/modules/registry/registry-cpi/pom.xml
@@ -37,10 +37,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-commons</artifactId>
             <version>${project.version}</version>
@@ -60,10 +56,5 @@
             <artifactId>jcl-over-slf4j</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 </project>
diff --git a/modules/registry/registry-tools/jpa-gen/pom.xml b/modules/registry/registry-tools/jpa-gen/pom.xml
index 76ebadc..3f1ec22 100644
--- a/modules/registry/registry-tools/jpa-gen/pom.xml
+++ b/modules/registry/registry-tools/jpa-gen/pom.xml
@@ -38,17 +38,8 @@
     <dependencies>
         <dependency>
             <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 </project>
diff --git a/modules/security/pom.xml b/modules/security/pom.xml
index 1ba42cb..7c0d357 100644
--- a/modules/security/pom.xml
+++ b/modules/security/pom.xml
@@ -40,10 +40,6 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.shiro</groupId>
             <artifactId>shiro-core</artifactId>
             <version>1.2.1</version>
diff --git a/modules/server/pom.xml b/modules/server/pom.xml
index fe0a8ea..69d149e 100644
--- a/modules/server/pom.xml
+++ b/modules/server/pom.xml
@@ -47,10 +47,6 @@
     </build>
     <dependencies>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>4.7</version>
@@ -76,10 +72,5 @@
             <artifactId>airavata-server-configuration</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>3.4.0</version>
-        </dependency>
     </dependencies>
 </project>
diff --git a/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java b/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
index 7d281ca..46c6e45 100644
--- a/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
+++ b/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
@@ -19,10 +19,8 @@
  */
 package org.apache.airavata.server;
 
-import ch.qos.logback.classic.LoggerContext;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.logging.kafka.KafkaAppender;
 import org.apache.airavata.common.utils.*;
 import org.apache.airavata.common.utils.ApplicationSettings.ShutdownStrategy;
 import org.apache.airavata.common.utils.IServer.ServerStatus;
@@ -170,7 +168,7 @@ public class ServerMain {
 //		});
 //	}
 	
-	public static void main(String args[]) throws ParseException, IOException, AiravataException {
+	public static void main(String args[]) throws IOException, AiravataException, ParseException {
 		ServerSettings.mergeSettingsCommandLineArgs(args);
 		ServerSettings.setServerRoles(ApplicationSettings.getSetting(SERVERS_KEY, "all").split(","));
 
@@ -183,38 +181,10 @@ public class ServerMain {
 			Runtime.getRuntime().addShutdownHook(new Thread(monitoringServer::stop));
 		}
 
-		if (ServerSettings.isEnabledKafkaLogging()) {
-			final ILoggerFactory iLoggerFactory = LoggerFactory.getILoggerFactory();
-			if (iLoggerFactory instanceof LoggerContext) {
-				final KafkaAppender kafkaAppender = new KafkaAppender(ServerSettings.getKafkaBrokerList(),
-						ServerSettings.getKafkaTopicPrefix());
-				kafkaAppender.setContext((LoggerContext) iLoggerFactory);
-				kafkaAppender.setName("kafka-appender");
-				kafkaAppender.clearAllFilters();
-				kafkaAppender.start();
-				// Until AIRAVATA-2073 filter org.apache.kafka logs
-				((LoggerContext) iLoggerFactory).getLogger("org.apache.airavata").addAppender(kafkaAppender);
-				((LoggerContext) iLoggerFactory).getLogger("org.apache.zookeeper").addAppender(kafkaAppender);
-				((LoggerContext) iLoggerFactory).getLogger("org.apache.derby").addAppender(kafkaAppender);
-				((LoggerContext) iLoggerFactory).getLogger("org.apache.commons").addAppender(kafkaAppender);
-				((LoggerContext) iLoggerFactory).getLogger("org.apache.thrift").addAppender(kafkaAppender);
-				((LoggerContext) iLoggerFactory).getLogger("com").addAppender(kafkaAppender);
-				((LoggerContext) iLoggerFactory).getLogger("net").addAppender(kafkaAppender);
-			} else {
-				logger.warn("Kafka logging is enabled but cannot find logback LoggerContext, found", iLoggerFactory.getClass().toString());
-				throw new AiravataException("Kafka logging is enabled but cannot find logback LoggerContext");
-			}
-		} else {
-			logger.info("Kafka logging is disabled in airavata server configurations");
-		}
-
 		CommandLineParameters commandLineParameters = StringUtil.getCommandLineParser(args);
         if (commandLineParameters.getArguments().contains(STOP_COMMAND_STR)){
             performServerStopRequest(commandLineParameters);
-        }else{
-            AiravataZKUtils.startEmbeddedZK(cnxnFactory);
-            performServerStart(args);
-		}
+        }
     }
 
 
diff --git a/modules/sharing-registry/sharing-data-migrator/pom.xml b/modules/sharing-registry/sharing-data-migrator/pom.xml
index d5f76eb..541a1d1 100644
--- a/modules/sharing-registry/sharing-data-migrator/pom.xml
+++ b/modules/sharing-registry/sharing-data-migrator/pom.xml
@@ -110,16 +110,6 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>1.2.17</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.7.12</version>
-        </dependency>
-        <dependency>
             <groupId>org.mariadb.jdbc</groupId>
             <artifactId>mariadb-java-client</artifactId>
             <version>2.0.2</version>
diff --git a/modules/sharing-registry/sharing-registry-distribution/pom.xml b/modules/sharing-registry/sharing-registry-distribution/pom.xml
index 1ed482a..191022d 100644
--- a/modules/sharing-registry/sharing-registry-distribution/pom.xml
+++ b/modules/sharing-registry/sharing-registry-distribution/pom.xml
@@ -35,11 +35,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.7.10</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-commons</artifactId>
             <version>${project.parent.version}</version>
diff --git a/modules/sharing-registry/sharing-registry-server/pom.xml b/modules/sharing-registry/sharing-registry-server/pom.xml
index 5066870..6dc1e26 100644
--- a/modules/sharing-registry/sharing-registry-server/pom.xml
+++ b/modules/sharing-registry/sharing-registry-server/pom.xml
@@ -36,11 +36,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.7.10</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-sharing-registry-stubs</artifactId>
             <version>${project.parent.version}</version>
diff --git a/modules/sharing-registry/sharing-registry-server/src/test/resources/log4j2.xml b/modules/sharing-registry/sharing-registry-server/src/test/resources/log4j2.xml
new file mode 100644
index 0000000..e38f7ff
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/test/resources/log4j2.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<Configuration status="WARN">
+
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d [%t] %-5p %c{30} %X - %m%n"/>
+        </Console>
+        <RollingFile name="RollingFileAppender" fileName="../logs/airavata.log"
+                     filePattern="logs/${date:yyyy-MM}/airavata-log-%d{MM-dd-yyyy}-%i.log.gz">
+            <PatternLayout>
+                <Pattern>%d [%t] %-5p %c{30} %X - %m%n</Pattern>
+            </PatternLayout>
+            <Policies>
+                <OnStartupTriggeringPolicy />
+                <TimeBasedTriggeringPolicy />
+                <SizeBasedTriggeringPolicy size="50 MB" />
+            </Policies>
+            <DefaultRolloverStrategy max="20" />
+        </RollingFile>
+    </Appenders>
+    <Loggers>
+        <logger name="ch.qos.logback" level="WARN"/>
+        <logger name="org.apache.helix" level="WARN"/>
+        <logger name="org.apache.zookeeper" level="ERROR"/>
+        <logger name="org.apache.airavata" level="INFO"/>
+        <logger name="org.hibernate" level="ERROR"/>
+        <Root level="INFO">
+            <AppenderRef ref="Console"/>
+            <AppenderRef ref="RollingFileAppender"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/modules/sharing-registry/sharing-registry-server/src/test/resources/logback.xml b/modules/sharing-registry/sharing-registry-server/src/test/resources/logback.xml
deleted file mode 100644
index 88937d3..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/test/resources/logback.xml
+++ /dev/null
@@ -1,31 +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.
-  ~
-  -->
-<configuration>
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>[%p] %m%n</pattern>
-        </encoder>
-    </appender>
-    <!-- <logger name="org.apache.airavata.sharing.registry" level="DEBUG"/> -->
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-    </root>
-</configuration>
diff --git a/pom.xml b/pom.xml
index 5666a1f..aa99188 100644
--- a/pom.xml
+++ b/pom.xml
@@ -79,7 +79,7 @@
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <derby.version>10.13.1.1</derby.version>
         <org.slf4j.version>1.7.25</org.slf4j.version>
-        <log4j.version>1.2.17</log4j.version>
+        <log4j2.version>2.16.0</log4j2.version>
         <surefire.version>3.0.0-M4</surefire.version>
         <junit.version>4.12</junit.version>
         <curator.version>2.8.0</curator.version>
@@ -108,7 +108,6 @@
         <maven.replacer.plugin.version>1.5.3</maven.replacer.plugin.version>
         <maven.assembly.plugin>3.1.1</maven.assembly.plugin>
         <kafka-clients.version>1.0.0</kafka-clients.version>
-        <logback.version>1.2.3</logback.version>
         <json.version>20160212</json.version>
         <commons.io.version>2.4</commons.io.version>
         <google.guava.version>20.0</google.guava.version>
@@ -453,15 +452,34 @@
         </developer>
     </developers>
 
+    <dependencies>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${org.slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-1.2-api</artifactId>
+        </dependency>
+    </dependencies>
+
     <dependencyManagement>
         <dependencies>
             <dependency>
                 <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-api</artifactId>
-                <version>${org.slf4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-simple</artifactId>
                 <version>${org.slf4j.version}</version>
             </dependency>
@@ -471,14 +489,24 @@
                 <version>${org.slf4j.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-log4j12</artifactId>
-                <version>${org.slf4j.version}</version>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-api</artifactId>
+                <version>${log4j2.version}</version>
             </dependency>
             <dependency>
-                <groupId>log4j</groupId>
-                <artifactId>log4j</artifactId>
-                <version>${log4j.version}</version>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-core</artifactId>
+                <version>${log4j2.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-slf4j-impl</artifactId>
+                <version>${log4j2.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-1.2-api</artifactId>
+                <version>${log4j2.version}</version>
             </dependency>
             <dependency>
                 <groupId>junit</groupId>
@@ -526,11 +554,6 @@
                 <version>${kafka-clients.version}</version>
             </dependency>
             <dependency>
-                <groupId>ch.qos.logback</groupId>
-                <artifactId>logback-classic</artifactId>
-                <version>${logback.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>com.google.guava</groupId>
                 <artifactId>guava</artifactId>
                 <version>${google.guava.version}</version>
@@ -549,7 +572,7 @@
         </dependencies>
     </dependencyManagement>
 
-    <repositories>
+    <!--<repositories>
         <repository>
             <id>apache.snapshots</id>
             <name>Apache Snapshot Repository</name>
@@ -569,7 +592,7 @@
                 <enabled>false</enabled>
             </snapshots>
         </repository>
-    </repositories>
+    </repositories>-->
 
     <profiles>
         <profile>