diff --git a/defaults/main.yml b/defaults/main.yml
index 0cd1143..9a1d19c 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -211,6 +211,7 @@ heat_pip_packages:
   - python-openstackclient
   - python-swiftclient
   - python-troveclient
+  - systemd-python
   - uwsgi
 
 # Specific pip packages provided by the user
diff --git a/tasks/heat_install.yml b/tasks/heat_install.yml
index a40a5db..a5cb223 100644
--- a/tasks/heat_install.yml
+++ b/tasks/heat_install.yml
@@ -41,6 +41,7 @@
     name: "python_venv_build"
   vars:
     venv_build_constraints: "{{ heat_git_constraints }}"
+    venv_build_distro_package_list: "{{ heat_devel_distro_packages }}"
     venv_install_destination_path: "{{ heat_bin | dirname }}"
     venv_install_distro_package_list: "{{ heat_distro_packages }}"
     venv_pip_install_args: "{{ heat_pip_install_args }}"
diff --git a/tasks/heat_pre_install.yml b/tasks/heat_pre_install.yml
index 2a1cdda..7fac3f6 100644
--- a/tasks/heat_pre_install.yml
+++ b/tasks/heat_pre_install.yml
@@ -93,26 +93,3 @@
     group: "{{ heat_system_group_name }}"
     mode: "{{ item.mode|default('0755') }}"
   with_items: "{{ heat_plugin_dirs }}"
-
-- name: Test for log directory or link
-  shell: |
-    if [ -h "/var/log/heat"  ]; then
-      chown -h {{ heat_system_user_name }}:{{ heat_system_group_name }} "/var/log/heat"
-      chown -R {{ heat_system_user_name }}:{{ heat_system_group_name }} "$(readlink /var/log/heat)"
-    else
-      exit 1
-    fi
-  register: log_dir
-  failed_when: false
-  changed_when: log_dir.rc != 0
-
-- name: Create heat log dir
-  file:
-    path: "{{ item.path }}"
-    state: directory
-    owner: "{{ item.owner|default(heat_system_user_name) }}"
-    group: "{{ item.group|default(heat_system_group_name) }}"
-    mode: "{{ item.mode|default('0755') }}"
-  with_items:
-    - { path: "/var/log/heat" }
-  when: log_dir.rc != 0
diff --git a/templates/heat-uwsgi.ini.j2 b/templates/heat-uwsgi.ini.j2
index 45b6010..993e628 100644
--- a/templates/heat-uwsgi.ini.j2
+++ b/templates/heat-uwsgi.ini.j2
@@ -21,7 +21,7 @@ lazy-apps = true
 add-header = Connection: close
 buffer-size = {{ heat_wsgi_buffer_size }}
 thunder-lock = true
-logfile-chmod = 644
+disable-logging = true
 
 # Avoid filling up the logs with health check requests from haproxy.
 route-user-agent = ^osa-haproxy-healthcheck$ donotlog:
diff --git a/templates/heat.conf.j2 b/templates/heat.conf.j2
index ed436e0..e47381d 100644
--- a/templates/heat.conf.j2
+++ b/templates/heat.conf.j2
@@ -6,7 +6,7 @@ use_stderr = False
 debug = {{ debug }}
 fatal_deprecations = {{ heat_fatal_deprecations }}
 
-log_file = /var/log/heat/heat.log
+use_journal = True
 
 stack_domain_admin_password = {{ heat_stack_domain_admin_password }}
 stack_domain_admin = {{ heat_stack_domain_admin }}
diff --git a/vars/debian.yml b/vars/debian.yml
index f780212..af74a57 100644
--- a/vars/debian.yml
+++ b/vars/debian.yml
@@ -21,8 +21,12 @@ heat_distro_packages:
   - libxslt1.1
   - libopenmpi-dev
 
+heat_devel_distro_packages:
+  - libsystemd-dev
+
 heat_service_distro_packages:
   - python3-heat
+  - python3-systemd
   - uwsgi
   - uwsgi-plugin-python3
 
diff --git a/vars/redhat-7.yml b/vars/redhat-7.yml
index 0949486..76a2052 100644
--- a/vars/redhat-7.yml
+++ b/vars/redhat-7.yml
@@ -19,12 +19,16 @@ heat_distro_packages:
   - which
   - openmpi-devel
 
+heat_devel_distro_packages:
+  - systemd-devel
+
 heat_service_distro_packages:
   - openstack-heat-agents
   - openstack-heat-api
   - openstack-heat-api-cfn
   - openstack-heat-engine
   - openstack-heat-ui
+  - systemd-python
   - uwsgi
   - uwsgi-plugin-python
 
diff --git a/vars/suse.yml b/vars/suse.yml
index d0a7ce1..2b34a44 100644
--- a/vars/suse.yml
+++ b/vars/suse.yml
@@ -18,12 +18,16 @@ heat_distro_packages:
   - libxslt1
   - openmpi
 
+heat_devel_distro_packages:
+  - systemd-devel
+
 heat_service_distro_packages:
   - openstack-heat
   - openstack-heat-api
   - openstack-heat-api-cfn
   - openstack-heat-engine
   - openstack-heat-templates
+  - python-systemd
   - uwsgi-python
 
 heat_oslomsg_amqp1_distro_packages: