SLIDER-555 AM needs to get log aggregation friendly log4j
diff --git a/slider-assembly/src/conf-hdp/log4j-server.properties b/slider-assembly/src/conf-hdp/log4j-server.properties
index 90b5b1b..793454f 100644
--- a/slider-assembly/src/conf-hdp/log4j-server.properties
+++ b/slider-assembly/src/conf-hdp/log4j-server.properties
@@ -15,28 +15,31 @@
 #  limitations under the License.
 #
 
-# This is a log4j config for Slider appmaster
+# This is the log4j configuration for Slider Application Master
 
-log4j.rootLogger=INFO,stderr
+# Log rotation based on size (100KB) with a max of 10 backup files
+log4j.rootLogger=INFO, amlog
 log4j.threshhold=ALL
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.amlog=org.apache.log4j.RollingFileAppender
+log4j.appender.amlog.layout=org.apache.log4j.PatternLayout
+log4j.appender.amlog.File=${LOG_DIR}/slider.log
+log4j.appender.amlog.MaxFileSize=100KB
+log4j.appender.amlog.MaxBackupIndex=10
 
 # log layout skips stack-trace creation operations by avoiding line numbers and method
-log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} - %m%n
+log4j.appender.amlog.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} - %m%n
 
 # debug edition is much more expensive
-#log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} (%F:%M(%L)) - %m%n
+#log4j.appender.amlog.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} (%F:%M(%L)) - %m%n
 
 # configure stderr
-# set the conversion pattern of stdout
+# set the conversion pattern of stderr
 # Print the date in ISO 8601 format
 log4j.appender.stderr=org.apache.log4j.ConsoleAppender
 log4j.appender.stderr.Target=System.err
 log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
 log4j.appender.stderr.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} - %m%n
 
-
 log4j.appender.subprocess=org.apache.log4j.ConsoleAppender
 log4j.appender.subprocess.layout=org.apache.log4j.PatternLayout
 log4j.appender.subprocess.layout.ConversionPattern=[%c{1}]: %m%n
@@ -60,8 +63,6 @@
 log4j.logger.org.apache.hadoop.hdfs=WARN
 log4j.logger.org.apache.hadoop.hdfs.shortcircuit=ERROR
 
-
-
 log4j.logger.org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor=WARN
 log4j.logger.org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl=WARN
 log4j.logger.org.apache.zookeeper=WARN
diff --git a/slider-assembly/src/conf/log4j-server.properties b/slider-assembly/src/conf/log4j-server.properties
index 90b5b1b..793454f 100644
--- a/slider-assembly/src/conf/log4j-server.properties
+++ b/slider-assembly/src/conf/log4j-server.properties
@@ -15,28 +15,31 @@
 #  limitations under the License.
 #
 
-# This is a log4j config for Slider appmaster
+# This is the log4j configuration for Slider Application Master
 
-log4j.rootLogger=INFO,stderr
+# Log rotation based on size (100KB) with a max of 10 backup files
+log4j.rootLogger=INFO, amlog
 log4j.threshhold=ALL
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.amlog=org.apache.log4j.RollingFileAppender
+log4j.appender.amlog.layout=org.apache.log4j.PatternLayout
+log4j.appender.amlog.File=${LOG_DIR}/slider.log
+log4j.appender.amlog.MaxFileSize=100KB
+log4j.appender.amlog.MaxBackupIndex=10
 
 # log layout skips stack-trace creation operations by avoiding line numbers and method
-log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} - %m%n
+log4j.appender.amlog.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} - %m%n
 
 # debug edition is much more expensive
-#log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} (%F:%M(%L)) - %m%n
+#log4j.appender.amlog.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} (%F:%M(%L)) - %m%n
 
 # configure stderr
-# set the conversion pattern of stdout
+# set the conversion pattern of stderr
 # Print the date in ISO 8601 format
 log4j.appender.stderr=org.apache.log4j.ConsoleAppender
 log4j.appender.stderr.Target=System.err
 log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
 log4j.appender.stderr.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} - %m%n
 
-
 log4j.appender.subprocess=org.apache.log4j.ConsoleAppender
 log4j.appender.subprocess.layout=org.apache.log4j.PatternLayout
 log4j.appender.subprocess.layout.ConversionPattern=[%c{1}]: %m%n
@@ -60,8 +63,6 @@
 log4j.logger.org.apache.hadoop.hdfs=WARN
 log4j.logger.org.apache.hadoop.hdfs.shortcircuit=ERROR
 
-
-
 log4j.logger.org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor=WARN
 log4j.logger.org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl=WARN
 log4j.logger.org.apache.zookeeper=WARN
diff --git a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
index dd8b4db..99c4746 100644
--- a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
+++ b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
@@ -36,6 +36,7 @@
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.security.alias.CredentialProvider;
 import org.apache.hadoop.security.alias.CredentialProviderFactory;
+import org.apache.hadoop.yarn.api.ApplicationConstants;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
 import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
@@ -1318,7 +1319,8 @@
     
     // if the conf dir has a log4j-server.properties, switch to that
     if (hasServerLog4jProperties) {
-      commandLine.sysprop(SYSPROP_LOG4_CONFIGURATION, LOG4J_SERVER_PROP_FILENAME);
+      commandLine.sysprop(SYSPROP_LOG4J_CONFIGURATION, LOG4J_SERVER_PROP_FILENAME);
+      commandLine.sysprop(SYSPROP_LOG_DIR, ApplicationConstants.LOG_DIR_EXPANSION_VAR);
     }
     
     // add the AM sevice entry point
diff --git a/slider-core/src/main/java/org/apache/slider/common/SliderKeys.java b/slider-core/src/main/java/org/apache/slider/common/SliderKeys.java
index 9e721cf..b9dc8e1 100644
--- a/slider-core/src/main/java/org/apache/slider/common/SliderKeys.java
+++ b/slider-core/src/main/java/org/apache/slider/common/SliderKeys.java
@@ -145,7 +145,12 @@
   /**
    * Log4j sysprop to name the resource :{@value}
    */
-  String SYSPROP_LOG4_CONFIGURATION = "log4j.configuration";
+  String SYSPROP_LOG4J_CONFIGURATION = "log4j.configuration";
+
+  /**
+   * sysprop for Slider AM log4j directory :{@value}
+   */
+  String SYSPROP_LOG_DIR = "LOG_DIR";
 
   /**
    * name of the Slider client resource