You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sm...@apache.org on 2016/12/30 17:56:37 UTC

ambari git commit: AMBARI-19323. Add log rotation settings to Atlas, Kafka, Knox, Log Search (Madhuvanthi Radhakrishnan via smohanty)

Repository: ambari
Updated Branches:
  refs/heads/trunk 51a9b01e4 -> 65fa6fdaa


AMBARI-19323. Add log rotation settings to Atlas, Kafka, Knox, Log Search (Madhuvanthi Radhakrishnan via smohanty)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/65fa6fda
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/65fa6fda
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/65fa6fda

Branch: refs/heads/trunk
Commit: 65fa6fdaaf5acd06005023e11736f0de6b1f2a50
Parents: 51a9b01
Author: Sumit Mohanty <sm...@hortonworks.com>
Authored: Fri Dec 30 09:56:22 2016 -0800
Committer: Sumit Mohanty <sm...@hortonworks.com>
Committed: Fri Dec 30 09:56:22 2016 -0800

----------------------------------------------------------------------
 .../configuration/infra-solr-client-log4j.xml   | 21 +++++
 .../0.1.0/configuration/infra-solr-log4j.xml    | 21 +++++
 .../0.1.0/package/scripts/params.py             |  6 ++
 .../properties/solr-client-log4j.properties.j2  |  6 +-
 .../0.1.0.2.3/configuration/atlas-log4j.xml     | 23 ++++++
 .../ATLAS/0.1.0.2.3/package/scripts/params.py   |  2 +
 .../0.7.0.2.5/configuration/atlas-log4j.xml     | 27 ++++++-
 .../KAFKA/0.8.1/configuration/kafka-log4j.xml   | 47 ++++++++++-
 .../KAFKA/0.8.1/package/scripts/kafka.py        |  2 +-
 .../KAFKA/0.8.1/package/scripts/params.py       |  6 ++
 .../0.5.0.2.2/configuration/gateway-log4j.xml   | 23 ++++++
 .../KNOX/0.5.0.2.2/configuration/ldap-log4j.xml | 23 ++++++
 .../KNOX/0.5.0.2.2/package/scripts/knox.py      |  2 +-
 .../KNOX/0.5.0.2.2/package/scripts/knox_ldap.py |  5 +-
 .../0.5.0.2.2/package/scripts/params_linux.py   |  6 ++
 .../0.5.0/configuration/logfeeder-log4j.xml     | 42 ++++++++++
 .../0.5.0/configuration/logsearch-log4j.xml     | 84 ++++++++++++++++++++
 .../LOGSEARCH/0.5.0/package/scripts/params.py   | 16 ++++
 .../0.5.0/properties/logfeeder-log4j.xml.j2     | 10 +--
 .../0.5.0/properties/logsearch-log4j.xml.j2     | 16 ++--
 .../ATLAS/configuration/atlas-log4j.xml         | 23 ++++++
 .../python/stacks/2.2/KNOX/test_knox_gateway.py |  8 +-
 22 files changed, 392 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-client-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-client-log4j.xml b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-client-log4j.xml
index 3b8e769..87468a2 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-client-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-client-log4j.xml
@@ -23,6 +23,27 @@
 <configuration supports_adding_forbidden="true">
   <!-- log4j.xml -->
   <property>
+     <name>infra_client_log_maxfilesize</name>
+      <value>80</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Ambari-Infra Solr Client Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>infra_client_log_maxbackupindex</name>
+    <value>60</value>
+    <description>The number of backup files</description>
+    <display-name>Ambari-Infra Solr Client Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
     <name>infra_solr_client_log_dir</name>
     <value>/var/log/ambari-infra-solr-client</value>
     <description>Directory for Solr client logs</description>

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-log4j.xml b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-log4j.xml
index 452eee5..b22dbf2 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/configuration/infra-solr-log4j.xml
@@ -21,6 +21,27 @@
 -->
 <configuration supports_adding_forbidden="true">
   <property>
+   <name>infra_log_maxfilesize</name>
+   <value>10</value>
+   <description>The maximum size of backup file before the log is rotated</description>
+   <display-name>Ambari Infra Log: backup file size</display-name>
+   <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>infra_log_maxbackupindex</name>
+    <value>9</value>
+    <description>The number of backup files</description>
+    <display-name>Ambari Infra Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
     <name>content</name>
     <display-name>infra-solr-log4j template</display-name>
     <description>This is the jinja template for log4j.properties</description>

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py
index 5edd89a..337a9fb 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/package/scripts/params.py
@@ -108,6 +108,12 @@ if security_enabled:
   infra_solr_web_kerberos_principal = config['configurations']['infra-solr-env']['infra_solr_web_kerberos_principal'].replace('_HOST',_hostname_lowercase)
   infra_solr_kerberos_name_rules = config['configurations']['infra-solr-env']['infra_solr_kerberos_name_rules'].replace('$', '\$')
 
+#Solr log4j
+infra_client_log_maxfilesize =  default('configurations/infra-solr-client-log4j/infra_client_log_maxfilesize',80)
+infra_client_log_maxbackupindex =  default('configurations/infra-solr-client-log4j/infra_client_log_maxbackupindex',60)
+infra_log_maxfilesize = default('configurations/infra-solr-log4j/infra_log_maxfilesize',10)
+infra_log_maxbackupindex = default('configurations/infra-solr-log4j/infra_log_maxbackupindex',9)
+
 solr_xml_content = default('configurations/infra-solr-xml/content', None)
 solr_log4j_content = default('configurations/infra-solr-log4j/content', None)
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/properties/solr-client-log4j.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/properties/solr-client-log4j.properties.j2 b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/properties/solr-client-log4j.properties.j2
index e980b81..64fc648 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/properties/solr-client-log4j.properties.j2
+++ b/ambari-server/src/main/resources/common-services/AMBARI_INFRA/0.1.0/properties/solr-client-log4j.properties.j2
@@ -20,8 +20,8 @@ log4j.rootLogger=INFO,file,stdout,stderr
 
 log4j.appender.file=org.apache.log4j.RollingFileAppender
 log4j.appender.file.File={{infra_client_log|default('/var/log/ambari-infra-solr-client/solr-client.log')}}
-log4j.appender.file.MaxFileSize=80MB
-log4j.appender.file.MaxBackupIndex=60
+log4j.appender.file.MaxFileSize={{infra_client_log_maxfilesize}}MB
+log4j.appender.file.MaxBackupIndex={{infra_client_log_maxbackupindex}}
 log4j.appender.file.layout=org.apache.log4j.PatternLayout
 log4j.appender.file.layout.ConversionPattern=%d{DATE} %5p [%t] %c{1}:%L - %m%n
 
@@ -35,4 +35,4 @@ log4j.appender.stderr=org.apache.log4j.ConsoleAppender
 log4j.appender.stderr.Threshold=ERROR
 log4j.appender.stderr.Target=System.err
 log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
-log4j.appender.stderr.layout.ConversionPattern=%m%n
\ No newline at end of file
+log4j.appender.stderr.layout.ConversionPattern=%m%n

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/atlas-log4j.xml b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/atlas-log4j.xml
index a071442..54c038c 100644
--- a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/atlas-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/atlas-log4j.xml
@@ -33,6 +33,27 @@
     <on-ambari-upgrade add="true"/>
   </property>
   <property>
+    <name>atlas_log_max_backup_size</name>
+    <value>256</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Atlas Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>atlas_log_number_of_backup_files</name>
+    <value>20</value>
+    <description>The number of backup files</description>
+    <display-name>Atlas Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
     <name>content</name>
     <display-name>atlas-log4j template</display-name>
     <description>Custom log4j.properties</description>
@@ -69,6 +90,8 @@
     <param name="File" value="{{log_dir}}/application.log"/>
     <param name="Append" value="true"/>
     <param name="Threshold" value="info"/>
+    <param name="MaxFileSize" value="{{atlas_log_max_backup_size}}MB" />
+    <param name="MaxBackupIndex" value="{{atlas_log_number_of_backup_files}}" />
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d %-5p - [%t:%x] ~ %m (%c{1}:%L)%n"/>
     </layout>

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py
index f565968..6a53b1a 100644
--- a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py
@@ -177,6 +177,8 @@ metadata_solrconfig_content = default("/configurations/atlas-solrconfig/content"
 
 atlas_log_level = config['configurations']['atlas-log4j']['atlas_log_level']
 audit_log_level = config['configurations']['atlas-log4j']['audit_log_level']
+atlas_log_max_backup_size = default("/configurations/atlas-log4j/atlas_log_max_backup_size", 256)
+atlas_log_number_of_backup_files = default("/configurations/atlas-log4j/atlas_log_number_of_backup_files", 20)
 
 # smoke test
 smoke_test_user = config['configurations']['cluster-env']['smokeuser']

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/configuration/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/configuration/atlas-log4j.xml b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/configuration/atlas-log4j.xml
index 0baea94..05c8f0a 100644
--- a/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/configuration/atlas-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/configuration/atlas-log4j.xml
@@ -32,6 +32,27 @@
     <description>Log level for audit logging</description>
     <on-ambari-upgrade add="true"/>
   </property>
+   <property>
+    <name>atlas_log_max_backup_size</name>
+    <value>256</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Atlas Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>atlas_log_number_of_backup_files</name>
+    <value>20</value>
+    <description>The number of backup files</description>
+    <display-name>Atlas Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
   <property>
     <name>content</name>
     <display-name>atlas-log4j template</display-name>
@@ -69,6 +90,8 @@
     <param name="File" value="{{log_dir}}/application.log"/>
     <param name="Append" value="true"/>
     <param name="Threshold" value="info"/>
+    <param name="MaxFileSize" value="{{atlas_log_max_backup_size}}MB" />
+    <param name="MaxBackupIndex" value="{{atlas_log_number_of_backup_files}}" />
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d %-5p - [%t:%x] ~ %m (%c{1}:%L)%n"/>
     </layout>
@@ -126,8 +149,8 @@
     <level value="info"/>
     <appender-ref ref="AUDIT"/>
   </logger>
-
-  <root>
+  
+<root>
     <priority value="info"/>
     <appender-ref ref="FILE"/>
   </root>

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-log4j.xml b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-log4j.xml
index f00453a..f6045cd 100644
--- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-log4j.xml
@@ -20,6 +20,48 @@
  */
 -->
 <configuration supports_final="false" supports_adding_forbidden="true">
+   <property>
+    <name>kafka_log_maxfilesize</name>
+    <value>256</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Kafka Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
+    <name>kafka_log_maxbackupindex</name>
+    <value>20</value>
+    <description>The number of backup files</description>
+    <display-name>Kafka Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
+    <name>controller_log_maxfilesize</name>
+    <value>256</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Kafka Controller Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
+    <name>controller_log_maxbackupindex</name>
+    <value>20</value>
+    <description>The number of backup files</description>
+    <display-name>Kafka Controller Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
   <property>
     <name>content</name>
     <display-name>kafka-log4j template</display-name>
@@ -59,6 +101,8 @@ log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH
 log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
 log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout
 log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
+log4j.appender.kafkaAppender.MaxFileSize = {{kafka_log_maxfilesize}}MB
+log4j.appender.kafkaAppender.MaxBackupIndex = {{kafka_log_maxbackupindex}}
 
 log4j.appender.stateChangeAppender=org.apache.log4j.DailyRollingFileAppender
 log4j.appender.stateChangeAppender.DatePattern='.'yyyy-MM-dd-HH
@@ -83,7 +127,8 @@ log4j.appender.controllerAppender.DatePattern='.'yyyy-MM-dd-HH
 log4j.appender.controllerAppender.File=${kafka.logs.dir}/controller.log
 log4j.appender.controllerAppender.layout=org.apache.log4j.PatternLayout
 log4j.appender.controllerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
-
+log4j.appender.controllerAppender.MaxFileSize = {{controller_log_maxfilesize}}MB
+log4j.appender.controllerAppender.MaxBackupIndex = {{controller_log_maxbackupindex}}
 # Turn on all our debugging info
 #log4j.logger.kafka.producer.async.DefaultEventHandler=DEBUG, kafkaAppender
 #log4j.logger.kafka.client.ClientUtils=DEBUG, kafkaAppender

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py
index 3f7104a..680dd32 100644
--- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py
+++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py
@@ -129,7 +129,7 @@ def kafka(upgrade_type=None):
              mode=0644,
              group=params.user_group,
              owner=params.kafka_user,
-             content=params.log4j_props
+             content=InlineTemplate(params.log4j_props)
          )
 
     if params.security_enabled and params.kafka_kerberos_enabled:

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
index df48e8b..41970f8 100644
--- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
@@ -101,6 +101,12 @@ kafka_hosts.sort()
 zookeeper_hosts = config['clusterHostInfo']['zookeeper_hosts']
 zookeeper_hosts.sort()
 
+#Kafka log4j
+kafka_log_maxfilesize = default('/configurations/kafka-log4j/kafka_log_maxfilesize',256)
+kafka_log_maxbackupindex = default('/configurations/kafka-log4j/kafka_log_maxbackupindex',20)
+controller_log_maxfilesize = default('/configurations/kafka-log4j/controller_log_maxfilesize',256)
+controller_log_maxbackupindex = default('/configurations/kafka-log4j/controller_log_maxbackupindex',20)
+
 if (('kafka-log4j' in config['configurations']) and ('content' in config['configurations']['kafka-log4j'])):
     log4j_props = config['configurations']['kafka-log4j']['content']
 else:

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/gateway-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/gateway-log4j.xml b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/gateway-log4j.xml
index 07805bf..613d75f 100644
--- a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/gateway-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/gateway-log4j.xml
@@ -20,6 +20,27 @@
  */
 -->
 <configuration supports_final="false" supports_adding_forbidden="true">
+   <property>
+    <name>knox_gateway_log_maxfilesize</name>
+    <value>256</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Knox Gateway Log: backup file size</display-name>
+   <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
+    <name>knox_gateway_log_maxbackupindex</name>
+    <value>20</value>
+    <description>The number of backup files</description>
+    <display-name>Knox Gateway Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
   <property>
     <name>content</name>
     <display-name>gateway-log4j template</display-name>
@@ -66,6 +87,8 @@
       log4j.appender.drfa.DatePattern=.yyyy-MM-dd
       log4j.appender.drfa.layout=org.apache.log4j.PatternLayout
       log4j.appender.drfa.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
+      log4j.appender.drfa.MaxFileSize = {{knox_gateway_log_maxfilesize}}MB
+      log4j.appender.drfa.MaxBackupIndex = {{knox_gateway_log_maxbackupindex}}
 
       log4j.logger.audit=INFO, auditfile
       log4j.appender.auditfile=org.apache.log4j.DailyRollingFileAppender

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/ldap-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/ldap-log4j.xml b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/ldap-log4j.xml
index c42d23b..e078d9d 100644
--- a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/ldap-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/ldap-log4j.xml
@@ -20,6 +20,27 @@
  */
 -->
 <configuration supports_final="false" supports_adding_forbidden="true">
+   <property>
+    <name>knox_ldap_log_maxfilesize</name>
+    <value>256</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Knox LDAP Log: backup file size</display-name>
+<value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
+    <name>knox_ldap_log_maxbackupindex</name>
+    <value>20</value>
+    <description>The number of backup files</description>
+    <display-name>Knox LDAP Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
   <property>
     <name>content</name>
     <display-name>ldap-log4j template</display-name>
@@ -56,6 +77,8 @@
         log4j.appender.drfa.DatePattern=.yyyy-MM-dd
         log4j.appender.drfa.layout=org.apache.log4j.PatternLayout
         log4j.appender.drfa.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
+        log4j.appender.drfa.MaxFileSize = {{knox_ldap_log_maxfilesize}}MB
+        log4j.appender.drfa.MaxBackupIndex = {{knox_ldap_log_maxbackupindex}}
 
     </value>
     <description>

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox.py b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox.py
index f256f99..cce9c5f 100644
--- a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox.py
+++ b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox.py
@@ -110,7 +110,7 @@ def knox():
          mode=0644,
          group=params.knox_group,
          owner=params.knox_user,
-         content=params.gateway_log4j
+         content=InlineTemplate(params.gateway_log4j)
     )
 
     File(format("{params.knox_conf_dir}/topologies/default.xml"),

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_ldap.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_ldap.py b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_ldap.py
index fd7af18..b6f1b89 100644
--- a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_ldap.py
+++ b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_ldap.py
@@ -22,6 +22,7 @@ from resource_management.libraries.script.script import Script
 from resource_management.core.resources.service import ServiceConfig
 from resource_management.core.resources.system import File
 from ambari_commons import OSConst
+from resource_management.core.source import InlineTemplate
 from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
 
 def _ldap_common():
@@ -31,7 +32,7 @@ def _ldap_common():
          mode=params.mode,
          group=params.knox_group,
          owner=params.knox_user,
-         content=params.ldap_log4j
+         content=InlineTemplate(params.ldap_log4j)
     )
 
     File(os.path.join(params.knox_conf_dir, 'users.ldif'),
@@ -55,4 +56,4 @@ def ldap():
 
 @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
 def ldap():
-  _ldap_common()
\ No newline at end of file
+  _ldap_common()

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/params_linux.py
index 7a63e25..764c808 100644
--- a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/params_linux.py
@@ -231,6 +231,12 @@ if has_oozie:
 # Knox managed properties
 knox_managed_pid_symlink= format('{stack_root}/current/knox-server/pids')
 
+#knox log4j
+knox_gateway_log_maxfilesize = default('/configurations/gateway-log4j/knox_gateway_log_maxfilesize',256)
+knox_gateway_log_maxbackupindex = default('/configurations/gateway-log4j/knox_gateway_log_maxbackupindex',20)
+knox_ldap_log_maxfilesize = default('/configurations/ldap-log4j/knox_ldap_log_maxfilesize',256)
+knox_ldap_log_maxbackupindex = default('/configurations/ldap-log4j/knox_ldap_log_maxbackupindex',20)
+
 # server configurations
 knox_master_secret = config['configurations']['knox-env']['knox_master_secret']
 knox_host_name = config['clusterHostInfo']['knox_gateway_hosts'][0]

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml
index 6a17e05..9371530 100644
--- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml
@@ -22,6 +22,48 @@
 <!-- This is a special config file for properties used to monitor status of the service -->
 <configuration supports_adding_forbidden="true">
   <property>
+    <name>logfeeder_log_maxfilesize</name>
+    <value>10</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Logfeeder Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>logfeeder_log_maxbackupindex</name>
+    <value>10</value>
+    <description>The number of backup files</description>
+    <display-name>Logfeeder Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+   <property>
+    <name>logfeeder_json_log_maxfilesize</name>
+    <value>10</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Logfeeder Json Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>logfeeder_json_log_maxbackupindex</name>
+    <value>10</value>
+    <description>The number of backup files</description>
+    <display-name>Logfeeder Json Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
     <name>content</name>
     <display-name>logfeeder-log4j template</display-name>
     <description>This is the jinja template for log4j.xml file for logfeeder</description>

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml
index 39fe3c5..66b9bba 100644
--- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml
@@ -22,6 +22,90 @@
 <!-- This is a special config file for properties used to monitor status of the service -->
 <configuration supports_adding_forbidden="true">
   <!-- log4j.xml -->
+   <property>
+    <name>logsearch_log_maxfilesize</name>
+    <value>10</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Logsearch Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>logsearch_log_maxbackupindex</name>
+    <value>10</value>
+    <description>The number of backup files</description>
+    <display-name>Logsearch Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+   <property>
+    <name>logsearch_json_log_maxfilesize</name>
+    <value>10</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Logsearch Json Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>logsearch_json_log_maxbackupindex</name>
+    <value>10</value>
+    <description>The number of backup files</description>
+    <display-name>Logsearch Json Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+   <property>
+    <name>logsearch_audit_log_maxfilesize</name>
+    <value>10</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Logsearch Audit Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>logsearch_audit_log_maxbackupindex</name>
+    <value>10</value>
+    <description>The number of backup files</description>
+    <display-name>Logsearch Audit Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
+ <property>
+    <name>logsearch_perf_log_maxfilesize</name>
+    <value>10</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Logsearch Performance Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>logsearch_perf_log_maxbackupindex</name>
+    <value>10</value>
+    <description>The number of backup files</description>
+    <display-name>Logsearch Performance Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
   <property>
     <name>content</name>
     <display-name>logsearch-log4j template</display-name>

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py
index 4d751ba..10ba541 100644
--- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py
@@ -151,6 +151,16 @@ logsearch_debug_enabled = str(config['configurations']['logsearch-env']["logsear
 logsearch_debug_port = config['configurations']['logsearch-env']["logsearch_debug_port"]
 logsearch_app_max_memory = config['configurations']['logsearch-env']['logsearch_app_max_memory']
 
+#Logsearch log4j properties
+logsearch_log_maxfilesize = default('/configurations/logsearch-log4j/logsearch_log_maxfilesize',10)
+logsearch_log_maxbackupindex = default('/configurations/logsearch-log4j/logsearch_log_maxbackupindex',10)
+logsearch_json_log_maxfilesize = default('/configurations/logsearch-log4j/logsearch_json_log_maxfilesize',10)
+logsearch_json_log_maxbackupindex = default('/configurations/logsearch-log4j/logsearch_json_log_maxbackupindex',10)
+logsearch_audit_log_maxfilesize = default('/configurations/logsearch-log4j/logsearch_audit_log_maxfilesize',10)
+logsearch_audit_log_maxbackupindex =default('/configurations/logsearch-log4j/logsearch_audit_log_maxbackupindex',10)
+logsearch_perf_log_maxfilesize =default('/configurations/logsearch-log4j/logsearch_perf_log_maxfilesize',10)
+logsearch_perf_log_maxbackupindex =default('/configurations/logsearch-log4j/logsearch_perf_log_maxbackupindex',10)
+
 # store the log file for the service from the 'solr.log' property of the 'logsearch-env.xml' file
 logsearch_env_content = config['configurations']['logsearch-env']['content']
 logsearch_service_logs_solrconfig_content = config['configurations']['logsearch-service_logs-solrconfig']['content']
@@ -245,6 +255,12 @@ logsearch_collection_audit_logs_numshards = logsearch_properties['logsearch.coll
 
 logfeeder_dir = "/usr/lib/ambari-logsearch-logfeeder"
 
+# logfeeder-log4j
+logfeeder_log_maxfilesize = default('/configurations/logfeeder-log4j/logfeeder_log_maxfilesize',10)
+logfeeder_log_maxbackupindex =  default('/configurations/logfeeder-log4j/logfeeder_log_maxbackupindex',10)
+logfeeder_json_log_maxfilesize = default('/configurations/logfeeder-log4j/logfeeder_json_log_maxfilesize',10)
+logfeeder_json_log_maxbackupindex = default('/configurations/logfeeder-log4j/logfeeder_json_log_maxbackupindex',10)
+
 # logfeeder-env configs
 logfeeder_log_dir = config['configurations']['logfeeder-env']['logfeeder_log_dir']
 logfeeder_log = logfeeder_log_dir + '/logfeeder.out'

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logfeeder-log4j.xml.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logfeeder-log4j.xml.j2 b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logfeeder-log4j.xml.j2
index 27be671..a818fe0 100644
--- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logfeeder-log4j.xml.j2
+++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logfeeder-log4j.xml.j2
@@ -27,8 +27,8 @@ limitations under the License.
   <appender name="rolling_file" class="org.apache.log4j.RollingFileAppender">
     <param name="file" value="{{logfeeder_log_dir}}/logfeeder.log"/>
     <param name="append" value="true"/>
-    <param name="maxFileSize" value="10MB"/>
-    <param name="maxBackupIndex" value="10"/>
+    <param name="maxFileSize" value="{{logfeeder_log_maxfilesize}}MB"/>
+    <param name="maxBackupIndex" value="{{logfeeder_log_maxbackupindex}}"/>
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n"/>
     </layout>
@@ -38,8 +38,8 @@ limitations under the License.
     class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
     <param name="file" value="{{logfeeder_log_dir}}/logsearch-logfeeder.json" />
     <param name="append" value="true" />
-    <param name="maxFileSize" value="10MB" />
-    <param name="maxBackupIndex" value="10" />
+    <param name="maxFileSize" value="{{logfeeder_json_log_maxfilesize}}MB" />
+    <param name="maxBackupIndex" value="{{logfeeder_json_log_maxbackupindex}}" />
     <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion" />
   </appender>
 
@@ -68,4 +68,4 @@ limitations under the License.
     <!-- <appender-ref ref="rolling_file"/> -->
     <!-- <appender-ref ref="daily_rolling_file" /> -->
   </root>
-</log4j:configuration>
\ No newline at end of file
+</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logsearch-log4j.xml.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logsearch-log4j.xml.j2 b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logsearch-log4j.xml.j2
index 06fdad2..37fd925 100644
--- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logsearch-log4j.xml.j2
+++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/properties/logsearch-log4j.xml.j2
@@ -28,8 +28,8 @@ limitations under the License.
     <param name="file" value="{{logsearch_log_dir}}/logsearch.log" />
     <param name="Threshold" value="info" />
     <param name="append" value="true" />
-    <param name="maxFileSize" value="10MB" />
-    <param name="maxBackupIndex" value="10" />
+    <param name="maxFileSize" value="{{logsearch_log_maxfilesize}}MB" />
+    <param name="maxBackupIndex" value="{{logsearch_log_maxbackupindex}}" />
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" />
     </layout>
@@ -38,16 +38,16 @@ limitations under the License.
   <appender name="rolling_file_json" class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
     <param name="file" value="{{logsearch_log_dir}}/logsearch.json"/>
     <param name="append" value="true"/>
-    <param name="maxFileSize" value="10MB"/>
-    <param name="maxBackupIndex" value="10"/>
+    <param name="maxFileSize" value="{{logsearch_json_log_maxfilesize}}MB"/>
+    <param name="maxBackupIndex" value="{{logsearch_json_log_maxbackupindex}}"/>
     <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion" />
   </appender>
 
   <appender name="audit_rolling_file_json" class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
     <param name="file" value="{{logsearch_log_dir}}/logsearch-audit.json"/>
     <param name="append" value="true"/>
-    <param name="maxFileSize" value="10MB"/>
-    <param name="maxBackupIndex" value="10"/>
+    <param name="maxFileSize" value="{{logsearch_audit_log_maxfilesize}}MB"/>
+    <param name="maxBackupIndex" value="{{logsearch_audit_log_maxbackupindex}}"/>
     <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion" />
   </appender>
 
@@ -55,8 +55,8 @@ limitations under the License.
     <param name="file" value="{{logsearch_log_dir}}/logsearch-performance.json"/>
     <param name="Threshold" value="info"/>
     <param name="append" value="true"/>
-    <param name="maxFileSize" value="10MB"/>
-    <param name="maxBackupIndex" value="10"/>
+    <param name="maxFileSize" value="{{logsearch_perf_log_maxfilesize}}MB""/>
+    <param name="maxBackupIndex" value="{{logsearch_perf_log_maxbackupindex}}"/>
     <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion" />
   </appender>
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/configuration/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/configuration/atlas-log4j.xml b/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/configuration/atlas-log4j.xml
index aebf241..ec93b63 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/configuration/atlas-log4j.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/configuration/atlas-log4j.xml
@@ -20,6 +20,27 @@
  */
 -->
 <configuration supports_adding_forbidden="true">
+   <property>
+    <name>atlas_log_max_backup_size</name>
+    <value>256</value>
+    <description>The maximum size of backup file before the log is rotated</description>
+    <display-name>Atlas Log: backup file size</display-name>
+    <value-attributes>
+      <unit>MB</unit>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+   </property>
+   <property>
+    <name>atlas_log_number_of_backup_files</name>
+    <value>20</value>
+    <description>The number of backup files</description>
+    <display-name>Atlas Log: # of backup files</display-name>
+    <value-attributes>
+      <type>int</type>
+      <minimum>0</minimum>
+    </value-attributes>
+    <on-ambari-upgrade add="false"/>
+  </property>
   <property>
     <name>content</name>
     <display-name>atlas-log4j template</display-name>
@@ -57,6 +78,8 @@
     <param name="File" value="{{log_dir}}/application.log"/>
     <param name="Append" value="true"/>
     <param name="Threshold" value="info"/>
+    <param name="MaxFileSize" value="{{atlas_log_max_backup_size}}MB" />
+    <param name="MaxBackupIndex" value="{{atlas_log_number_of_backup_files}}" />
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d %-5p - [%t:%x] ~ %m (%c{1}:%L)%n"/>
     </layout>

http://git-wip-us.apache.org/repos/asf/ambari/blob/65fa6fda/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py b/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py
index 1e4a708..e0118de 100644
--- a/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py
+++ b/ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py
@@ -92,7 +92,7 @@ class TestKnoxGateway(RMFTestCase):
                               mode=0644,
                               group='knox',
                               owner = 'knox',
-                              content = self.getConfig()['configurations']['gateway-log4j']['content']
+                              content = InlineTemplate(self.getConfig()['configurations']['gateway-log4j']['content'])
     )
     self.assertResourceCalled('File', '/usr/hdp/current/knox-server/conf/topologies/default.xml',
                               group='knox',
@@ -115,7 +115,7 @@ class TestKnoxGateway(RMFTestCase):
         user = 'knox',
     )
     self.assertResourceCalled('File', '/usr/hdp/current/knox-server/conf/ldap-log4j.properties',
-        content = '\n        # Licensed to the Apache Software Foundation (ASF) under one\n        # or more contributor license agreements.  See the NOTICE file\n        # distributed with this work for additional information\n        # regarding copyright ownership.  The ASF licenses this file\n        # to you under the Apache License, Version 2.0 (the\n        # "License"); you may not use this file except in compliance\n        # with the License.  You may obtain a copy of the License at\n        #\n        #     http://www.apache.org/licenses/LICENSE-2.0\n        #\n        # Unless required by applicable law or agreed to in writing, software\n        # distributed under the License is distributed on an "AS IS" BASIS,\n        # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n        # See the License for the specific language governing permissions and\n        # limitations under the License.\n        #testing\n\n        app.log.dir=${launcher.dir}/.
 ./logs\n        app.log.file=${launcher.name}.log\n\n        log4j.rootLogger=ERROR, drfa\n        log4j.logger.org.apache.directory.server.ldap.LdapServer=INFO\n        log4j.logger.org.apache.directory=WARN\n\n        log4j.appender.stdout=org.apache.log4j.ConsoleAppender\n        log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\n        log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\n\n        log4j.appender.drfa=org.apache.log4j.DailyRollingFileAppender\n        log4j.appender.drfa.File=${app.log.dir}/${app.log.file}\n        log4j.appender.drfa.DatePattern=.yyyy-MM-dd\n        log4j.appender.drfa.layout=org.apache.log4j.PatternLayout\n        log4j.appender.drfa.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n',
+        content = InlineTemplate('\n        # Licensed to the Apache Software Foundation (ASF) under one\n        # or more contributor license agreements.  See the NOTICE file\n        # distributed with this work for additional information\n        # regarding copyright ownership.  The ASF licenses this file\n        # to you under the Apache License, Version 2.0 (the\n        # "License"); you may not use this file except in compliance\n        # with the License.  You may obtain a copy of the License at\n        #\n        #     http://www.apache.org/licenses/LICENSE-2.0\n        #\n        # Unless required by applicable law or agreed to in writing, software\n        # distributed under the License is distributed on an "AS IS" BASIS,\n        # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n        # See the License for the specific language governing permissions and\n        # limitations under the License.\n        #testing\n\n        app.log.dir=${
 launcher.dir}/../logs\n        app.log.file=${launcher.name}.log\n\n        log4j.rootLogger=ERROR, drfa\n        log4j.logger.org.apache.directory.server.ldap.LdapServer=INFO\n        log4j.logger.org.apache.directory=WARN\n\n        log4j.appender.stdout=org.apache.log4j.ConsoleAppender\n        log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\n        log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\n\n        log4j.appender.drfa=org.apache.log4j.DailyRollingFileAppender\n        log4j.appender.drfa.File=${app.log.dir}/${app.log.file}\n        log4j.appender.drfa.DatePattern=.yyyy-MM-dd\n        log4j.appender.drfa.layout=org.apache.log4j.PatternLayout\n        log4j.appender.drfa.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n'),
         owner = 'knox',
         group = 'knox',
         mode = 0644,
@@ -488,7 +488,7 @@ class TestKnoxGateway(RMFTestCase):
                               mode=0644,
                               group='knox',
                               owner = 'knox',
-                              content = self.getConfig()['configurations']['gateway-log4j']['content']
+                              content = InlineTemplate(self.getConfig()['configurations']['gateway-log4j']['content'])
     )
     self.assertResourceCalled('File', '/usr/hdp/current/knox-server/conf/topologies/default.xml',
                               group='knox',
@@ -514,7 +514,7 @@ class TestKnoxGateway(RMFTestCase):
                               mode=0644,
                               group='knox',
                               owner = 'knox',
-                              content = self.getConfig()['configurations']['ldap-log4j']['content']
+                              content = InlineTemplate(self.getConfig()['configurations']['ldap-log4j']['content'])
     )
     self.assertResourceCalled('File', '/usr/hdp/current/knox-server/conf/users.ldif',
                               mode=0644,