| #include "config.h" |
| |
| #include <phosphor-logging/elog.hpp> |
| #include <stdexcept> |
| |
| namespace phosphor |
| { |
| namespace logging |
| { |
| namespace details |
| { |
| using namespace sdbusplus::xyz::openbmc_project::Logging::server; |
| |
| auto _prepareMsg(const char* funcName) |
| { |
| using phosphor::logging::log; |
| constexpr auto IFACE_INTERNAL( |
| "xyz.openbmc_project.Logging.Internal.Manager"); |
| |
| // Transaction id is located at the end of the string separated by a period. |
| |
| auto b = sdbusplus::bus::new_default(); |
| |
| auto m = b.new_method_call(BUSNAME_LOGGING, OBJ_INTERNAL, IFACE_INTERNAL, |
| funcName); |
| return m; |
| } |
| |
| uint32_t commit(const char* name) |
| { |
| auto msg = _prepareMsg("Commit"); |
| uint64_t id = sdbusplus::server::transaction::get_id(); |
| msg.append(id, name); |
| auto bus = sdbusplus::bus::new_default(); |
| auto reply = bus.call(msg); |
| uint32_t entryID; |
| reply.read(entryID); |
| return entryID; |
| } |
| |
| uint32_t commit(const char* name, Entry::Level level) |
| { |
| auto msg = _prepareMsg("CommitWithLvl"); |
| uint64_t id = sdbusplus::server::transaction::get_id(); |
| msg.append(id, name, static_cast<uint32_t>(level)); |
| auto bus = sdbusplus::bus::new_default(); |
| auto reply = bus.call(msg); |
| uint32_t entryID; |
| reply.read(entryID); |
| return entryID; |
| } |
| } // namespace details |
| |
| uint32_t commit(std::string&& name) |
| { |
| log<level::ERR>("method is deprecated, use commit() with exception type"); |
| return phosphor::logging::details::commit(name.c_str()); |
| } |
| |
| } // namespace logging |
| } // namespace phosphor |