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:54 UTC

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

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>