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
