log_manager: Create journal sync function

The Synchronize D-Bus method was a systemd patch that calls "journalctl --sync"
and will not be upstreamed to systemd. Instead duplicate the function locally
in the log_manager so that the patch can be dropped, since the systemd journal
service would not start on time if it was idle, leading to missing metadata.

Closes openbmc/openbmc#2257

Tested: While printing continously into the journal, verify that a commit
request is blocked until the journal is flushed.

Change-Id: I8248c4c2e2eaeb041f7876832b395b053409acdd
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/log_manager.hpp b/log_manager.hpp
index 9339a6f..d62a25e 100644
--- a/log_manager.hpp
+++ b/log_manager.hpp
@@ -130,6 +130,12 @@
                              const std::vector<std::string>& additionalData,
                              AssociationList& objects) const;
 
+        /** @brief Synchronize unwritten journal messages to disk.
+         *  @details This is the same implementation as the systemd command
+         *  "journalctl --sync".
+         */
+        void journalSync();
+
         /** @brief Persistent sdbusplus DBus bus connection. */
         sdbusplus::bus::bus& busLog;