diff --git a/recipes-phosphor/logging/phosphor-hostlogger_git.bb b/recipes-phosphor/logging/phosphor-hostlogger_git.bb
index b2c07a8..1073f16 100644
--- a/recipes-phosphor/logging/phosphor-hostlogger_git.bb
+++ b/recipes-phosphor/logging/phosphor-hostlogger_git.bb
@@ -4,9 +4,7 @@
 PR = "r1"
 PV = "1.0+git${SRCPV}"
 
-inherit autotools
-inherit pkgconfig
-inherit python3native
+inherit meson
 inherit systemd
 
 # License info
@@ -14,27 +12,55 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
 
 # Dependencies
-DEPENDS += "\
-            autoconf-archive-native \
-            sdbusplus \
-            ${PYTHON_PN}-sdbus++-native \
-            phosphor-dbus-interfaces \
+DEPENDS += " \
+            phosphor-logging \
+            zlib \
            "
 RDEPENDS_${PN} += "obmc-console"
 RRECOMMENDS_${PN} += "phosphor-debug-collector"
 
-# systemd service setup
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "hostlogger.service"
-
-# Host TTY setup
-OBMC_CONSOLE_HOST_TTY ?= "ttyVUART0"
-
-# Extra parameters for 'configure' script
-EXTRA_OECONF = "HOST_TTY=${OBMC_CONSOLE_HOST_TTY} \
-                SYSTEMD_TARGET=multi-user.target"
-
 # Source code repository
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/openbmc/phosphor-hostlogger"
-SRCREV = "bc5e1501408d6065dba06ff6c4f1caa83b030106"
+SRCREV = "e8837d59c789b4e4b928afc0d6ba38110a394d07"
+
+# Systemd service template
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "hostlogger@.service"
+
+# Default service instance to install (single-host mode)
+DEFAULT_INSTANCE = "ttyVUART0"
+DEFAULT_SERVICE = "hostlogger@${DEFAULT_INSTANCE}.service"
+
+# Multi-host mode setup - list of configuration files to install, can be added
+# via SRC_URI in a bbappend. The file name is the name of the service instance,
+# which should match the corresponding instance of the obmc-console service.
+CUSTOM_CONFIGS = "${@custom_configs('${WORKDIR}')}"
+CUSTOM_SERVICES = "${@custom_services('${CUSTOM_CONFIGS}')}"
+
+# Preset systemd units
+SYSTEMD_SERVICE_${PN} += "${@'${CUSTOM_SERVICES}' if len('${CUSTOM_SERVICES}') \
+                                                  else '${DEFAULT_SERVICE}'}"
+
+# Gets list of custom config files in a directory
+def custom_configs(workdir):
+    if os.path.exists(workdir):
+        return ' '.join([f for f in os.listdir(workdir) if f.endswith('.conf')])
+
+# Get list of custom service instances
+def custom_services(configs):
+    return ' '.join(['hostlogger@' + i.replace('.conf', '.service') \
+                     for i in configs.split()])
+
+do_install_append() {
+  # Install config files
+  if [ -n "${CUSTOM_CONFIGS}" ]; then
+    for CONFIG_FILE in ${CUSTOM_CONFIGS}; do
+        install -Dm 0644 ${WORKDIR}/${CONFIG_FILE} \
+                     ${D}${sysconfdir}/hostlogger/${CONFIG_FILE}
+    done
+  else
+    install -Dm 0644 ${S}/default.conf \
+                     ${D}${sysconfdir}/hostlogger/${DEFAULT_INSTANCE}.conf
+  fi
+}
