PEL: Trace BMC log ID on new PEL, and use fmt

In addition to tracing the PEL ID in the journal when a new PEL is
created, also trace the corresponding OpenBMC event log ID.

Use the fmt library to help with the string formatting as things were
getting out of hand without it.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I3f7e43f2ed39ff1d1d6a65d0412e3a8c82a86b26
diff --git a/configure.ac b/configure.ac
index c275b1d..6dad3da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -215,6 +215,7 @@
             [AC_MSG_ERROR([Could not find fifo_map.hpp])])
 
        AX_PKG_CHECK_MODULES([LIBPLDM], [libpldm])]
+       PKG_CHECK_MODULES([FMT], [fmt])
 )
 
 AC_ARG_ENABLE([dont-send-pels-to-host],
diff --git a/extensions/openpower-pels/manager.cpp b/extensions/openpower-pels/manager.cpp
index c8b5872..e41e5b8 100644
--- a/extensions/openpower-pels/manager.cpp
+++ b/extensions/openpower-pels/manager.cpp
@@ -19,6 +19,7 @@
 #include "json_utils.hpp"
 #include "pel.hpp"
 
+#include <fmt/format.h>
 #include <sys/inotify.h>
 #include <unistd.h>
 
@@ -328,9 +329,9 @@
     auto src = pel->primarySRC();
     if (src)
     {
-        using namespace std::literals::string_literals;
-        auto id = getNumberString("0x%08X", pel->id());
-        msg = "Created PEL "s + id + " with SRC "s + (*src)->asciiString();
+        auto msg =
+            fmt::format("Created PEL {:#x} (BMC ID {}) with SRC {}", pel->id(),
+                        pel->obmcLogID(), (*src)->asciiString());
         while (msg.back() == ' ')
         {
             msg.pop_back();
diff --git a/extensions/openpower-pels/openpower-pels.mk b/extensions/openpower-pels/openpower-pels.mk
index 8e5893e..0bb9fd0 100644
--- a/extensions/openpower-pels/openpower-pels.mk
+++ b/extensions/openpower-pels/openpower-pels.mk
@@ -50,6 +50,7 @@
 	$(SDBUSPLUS_LIBS) \
 	$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
 	$(SDEVENTPLUS_LIBS) \
+	$(FMT_LIBS) \
 	-lstdc++fs
 
 libpel_la_LIBADD = $(libpel_ldflags)
diff --git a/test/openpower-pels/Makefile.include b/test/openpower-pels/Makefile.include
index bc10b89..74287fc 100644
--- a/test/openpower-pels/Makefile.include
+++ b/test/openpower-pels/Makefile.include
@@ -56,7 +56,8 @@
 	$(top_builddir)/extensions/openpower-pels/severity.o \
 	$(top_builddir)/extensions/openpower-pels/src.o \
 	$(top_builddir)/extensions/openpower-pels/user_data.o \
-	$(top_builddir)/extensions/openpower-pels/user_header.o
+	$(top_builddir)/extensions/openpower-pels/user_header.o \
+	$(FMT_LIBS)
 
 pel_test_utils_ldadd = \
 	$(top_builddir)/extensions/openpower-pels/bcd_time.o \