logging: switch to lg2
After switching to C++20, it is recommended to use `phosphor::lg2`
to format log, and the correct `CODE_LINE` and `CODE_FUNC` values
can be used in log tracking.
Tested: built ledManager successfully and Unit Test passes.
Before: The file does not exist or is empty
After: The file does not exist or is empty, FILE_PATH = /usr/share/phosphor-led-manager/lamp-test-led-overrides.json
MESSAGE=File does not exist, FILE_PATH = /var/lib/phosphor-led-manager/savedGroups
LOG2_FMTMSG=File does not exist, FILE_PATH = {PATH}
CODE_FILE=../../../../../../fp5280g2-workspace/sources/phosphor-led-manager/serialize.cpp
CODE_LINE=63
CODE_FUNC=void phosphor::led::Serialize::restoreGroups()
PATH=/var/lib/phosphor-led-manager/savedGroups
SYSLOG_IDENTIFIER=phosphor-ledmanager
_PID=298
_COMM=phosphor-ledman
_EXE=/usr/bin/phosphor-ledmanager
_CMDLINE=phosphor-ledmanager
_SYSTEMD_CGROUP=/system.slice/xyz.openbmc_project.LED.GroupManager.service
_SYSTEMD_UNIT=xyz.openbmc_project.LED.GroupManager.service
_SYSTEMD_INVOCATION_ID=5ddd4960a3b04fe29c34e4ce03b6be06
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I5ec8530e0b539bcf8d7d211c802430698aebd343
diff --git a/json-parser.hpp b/json-parser.hpp
index 245587d..a18db5d 100644
--- a/json-parser.hpp
+++ b/json-parser.hpp
@@ -4,7 +4,7 @@
#include "ledlayout.hpp"
#include <nlohmann/json.hpp>
-#include <phosphor-logging/log.hpp>
+#include <phosphor-logging/lg2.hpp>
#include <sdbusplus/bus.hpp>
#include <sdeventplus/event.hpp>
@@ -30,12 +30,11 @@
*/
const Json readJson(const fs::path& path)
{
- using namespace phosphor::logging;
if (!fs::exists(path) || fs::is_empty(path))
{
- log<level::ERR>("Incorrect File Path or empty file",
- entry("FILE_PATH=%s", path.c_str()));
+ lg2::error("Incorrect File Path or empty file, FILE_PATH = {PATH}",
+ "PATH", path);
throw std::runtime_error("Incorrect File Path or empty file");
}
@@ -46,9 +45,9 @@
}
catch (const std::exception& e)
{
- log<level::ERR>("Failed to parse config file",
- entry("ERROR=%s", e.what()),
- entry("FILE_PATH=%s", path.c_str()));
+ lg2::error(
+ "Failed to parse config file, ERROR = {ERROR}, FILE_PATH = {PATH}",
+ "ERROR", e, "PATH", path);
throw std::runtime_error("Failed to parse config file");
}
}
@@ -79,7 +78,6 @@
const phosphor::led::Layout::Action& priority,
PriorityMap& priorityMap)
{
- using namespace phosphor::logging;
auto iter = priorityMap.find(name);
if (iter == priorityMap.end())
@@ -90,10 +88,10 @@
if (iter->second != priority)
{
- log<level::ERR>("Priority of LED is not same across all",
- entry("Name=%s", name.c_str()),
- entry(" Old Priority=%d", iter->second),
- entry(" New priority=%d", priority));
+ lg2::error(
+ "Priority of LED is not same across all, Name = {NAME}, Old Priority = {OLD_PRIO}, New Priority = {NEW_PRIO}",
+ "NAME", name, "OLD_PRIO", int(iter->second), "NEW_PRIO",
+ int(priority));
throw std::runtime_error(
"Priority of at least one LED is not same across groups");