entry: use map for metadata in ctor
Transition the entry constructor to use the `map<string,string>`
rather than the `vector<string>`.
Tested: UTs pass and daemon still creates logs.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Icf3ead163cc99a1498734d33335fb6da52e6c98c
diff --git a/log_manager.cpp b/log_manager.cpp
index 125677e..d5a2638 100644
--- a/log_manager.cpp
+++ b/log_manager.cpp
@@ -193,12 +193,12 @@
sd_journal_close(j);
}
- createEntry(errMsg, errLvl, additionalData);
+ createEntry(errMsg, errLvl, util::additional_data::parse(additionalData));
}
auto Manager::createEntry(
std::string errMsg, Entry::Level errLvl,
- std::vector<std::string> additionalData,
+ std::map<std::string, std::string> additionalData,
const FFDCEntries& ffdc) -> sdbusplus::message::object_path
{
if (!Extensions::disableDefaultLogCaps())
@@ -234,7 +234,8 @@
auto objPath = std::string(OBJ_ENTRY) + '/' + std::to_string(entryId);
AssociationList objects{};
- processMetadata(errMsg, additionalData, objects);
+ auto additionalDataVec = util::additional_data::combine(additionalData);
+ processMetadata(errMsg, additionalDataVec, objects);
auto e = std::make_unique<Entry>(
busLog, objPath, entryId,
@@ -706,10 +707,7 @@
const std::map<std::string, std::string>& additionalData,
const FFDCEntries& ffdc) -> sdbusplus::message::object_path
{
- // Convert the map into a vector of "key=value" strings
- auto ad = util::additional_data::combine(additionalData);
-
- return createEntry(message, severity, ad, ffdc);
+ return createEntry(message, severity, additionalData, ffdc);
}
} // namespace internal