diff --git a/ansible/roles/heat/templates/heat.conf.j2 b/ansible/roles/heat/templates/heat.conf.j2
index a2e7dcf3a2..dda99617e7 100644
--- a/ansible/roles/heat/templates/heat.conf.j2
+++ b/ansible/roles/heat/templates/heat.conf.j2
@@ -2,6 +2,7 @@
 debug = {{ heat_logging_debug }}
 
 log_dir = /var/log/kolla/heat
+log_file = $log_dir/{{ service_name }}.log
 
 heat_metadata_server_url = {{ public_protocol }}://{{ heat_cfn_external_fqdn | put_address_in_context('url') }}:{{ heat_api_cfn_port }}
 heat_waitcondition_server_url = {{ public_protocol }}://{{ heat_cfn_external_fqdn | put_address_in_context('url') }}:{{ heat_api_cfn_port }}/v1/waitcondition
diff --git a/ansible/roles/heat/templates/wsgi-heat-api-cfn.conf.j2 b/ansible/roles/heat/templates/wsgi-heat-api-cfn.conf.j2
index 2b3136352a..da49496894 100644
--- a/ansible/roles/heat/templates/wsgi-heat-api-cfn.conf.j2
+++ b/ansible/roles/heat/templates/wsgi-heat-api-cfn.conf.j2
@@ -26,6 +26,10 @@ TraceEnable off
     </FilesMatch>
 </Directory>
 
+ErrorLog "{{ heat_log_dir }}/apache-cfn-error.log"
+<IfModule log_config_module>
+CustomLog "{{ heat_log_dir }}/apache-cfn-access.log" common
+</IfModule>
 
 <VirtualHost *:{{ heat_api_cfn_listen_port }}>
     WSGIDaemonProcess heat-api-cfn processes={{ openstack_service_workers }} threads=1 user=heat group=heat display-name=%{GROUP} python-path={{ python_path }}
@@ -38,7 +42,7 @@ TraceEnable off
     </IfVersion>
     ErrorLog "{{ heat_log_dir }}/heat-api-cfn-error.log"
     LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" logformat
-    CustomLog "{{ heat_log_dir }}/heat-api-cfn-error.log" logformat
+    CustomLog "{{ heat_log_dir }}/heat-api-cfn-access.log" logformat
 {% if heat_enable_tls_backend | bool %}
     SSLEngine On
     SSLCertificateFile /etc/heat/certs/heat-cert.pem
diff --git a/ansible/roles/heat/templates/wsgi-heat-api.conf.j2 b/ansible/roles/heat/templates/wsgi-heat-api.conf.j2
index bdba923fbe..f5423e4918 100644
--- a/ansible/roles/heat/templates/wsgi-heat-api.conf.j2
+++ b/ansible/roles/heat/templates/wsgi-heat-api.conf.j2
@@ -26,6 +26,10 @@ TraceEnable off
     </FilesMatch>
 </Directory>
 
+ErrorLog "{{ heat_log_dir }}/apache-error.log"
+<IfModule log_config_module>
+CustomLog "{{ heat_log_dir }}/apache-access.log" common
+</IfModule>
 
 <VirtualHost *:{{ heat_api_listen_port }}>
     WSGIDaemonProcess heat-api processes={{ openstack_service_workers }} threads=1 user=heat group=heat display-name=%{GROUP} python-path={{ python_path }}
@@ -38,7 +42,7 @@ TraceEnable off
     </IfVersion>
     ErrorLog "{{ heat_log_dir }}/heat-api-error.log"
     LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" logformat
-    CustomLog "{{ heat_log_dir }}/heat-api-error.log" logformat
+    CustomLog "{{ heat_log_dir }}/heat-api-access.log" logformat
 {% if heat_enable_tls_backend | bool %}
     SSLEngine On
     SSLCertificateFile /etc/heat/certs/heat-cert.pem