struct Entry
{
- boost::optional<std::string> name; // name parts joined with '.'
+ std::optional<std::string> name; // name parts joined with '.'
std::string message; // message as send to log call
- boost::optional<std::string> error; // error if .Error() was called
+ std::optional<std::string> error; // error if .Error() was called
struct timeval d_timestamp; // time of entry generation
std::map<std::string, std::string> values; // key-value pairs
size_t level; // level at which this was logged
static std::shared_ptr<Logger> create(EntryLogger callback, const std::string& name);
Logger(EntryLogger callback);
- Logger(EntryLogger callback, boost::optional<std::string> name);
- Logger(std::shared_ptr<const Logger> parent, boost::optional<std::string> name, size_t verbosity, size_t lvl, EntryLogger callback);
+ Logger(EntryLogger callback, std::optional<std::string> name);
+ Logger(std::shared_ptr<const Logger> parent, std::optional<std::string> name, size_t verbosity, size_t lvl, EntryLogger callback);
~Logger() override;
size_t getVerbosity() const;
void setVerbosity(size_t verbosity);
private:
- void logMessage(const std::string& msg, boost::optional<const std::string> err) const;
- void logMessage(const std::string& msg, Logr::Priority p, boost::optional<const std::string> err) const;
+ void logMessage(const std::string& msg, const std::optional<std::string>& err) const;
+ void logMessage(const std::string& msg, Logr::Priority prio, const std::optional<std::string>& err) const;
std::shared_ptr<const Logger> getptr() const;
std::shared_ptr<const Logger> _parent{nullptr};
EntryLogger _callback;
- boost::optional<std::string> _name;
+ std::optional<std::string> _name;
std::map<std::string, std::string> _values;
// current Logger's level. the higher the more verbose.
size_t _level{0};
void Logger::info(const std::string& msg) const
{
- logMessage(msg, Logr::Absent, boost::none);
+ logMessage(msg, Logr::Absent, std::nullopt);
}
void Logger::info(Logr::Priority prio, const std::string& msg) const
{
- logMessage(msg, prio, boost::none);
+ logMessage(msg, prio, std::nullopt);
}
-void Logger::logMessage(const std::string& msg, boost::optional<const std::string> err) const
+void Logger::logMessage(const std::string& msg, const std::optional<std::string>& err) const
{
logMessage(msg, Logr::Absent, std::move(err));
}
-void Logger::logMessage(const std::string& msg, Logr::Priority prio, boost::optional<const std::string> err) const
+void Logger::logMessage(const std::string& msg, Logr::Priority prio, const std::optional<std::string>& err) const
{
if (!enabled(prio)) {
return;
{
std::shared_ptr<Logger> res;
if (_name) {
- res = std::make_shared<Logger>(getptr(), _name.get() + "." + name, getVerbosity(), _level, _callback);
+ res = std::make_shared<Logger>(getptr(), _name.value() + "." + name, getVerbosity(), _level, _callback);
}
else {
res = std::make_shared<Logger>(getptr(), name, getVerbosity(), _level, _callback);
_callback(callback)
{
}
-Logger::Logger(EntryLogger callback, boost::optional<std::string> name) :
+Logger::Logger(EntryLogger callback, std::optional<std::string> name) :
_callback(callback), _name(std::move(name))
{
}
-Logger::Logger(std::shared_ptr<const Logger> parent, boost::optional<std::string> name, size_t verbosity, size_t lvl, EntryLogger callback) :
+Logger::Logger(std::shared_ptr<const Logger> parent, std::optional<std::string> name, size_t verbosity, size_t lvl, EntryLogger callback) :
_parent(std::move(parent)), _callback(callback), _name(std::move(name)), _level(lvl), _verbosity(verbosity)
{
}
};
appendKeyAndVal("MESSAGE", entry.message);
if (entry.error) {
- appendKeyAndVal("ERROR", entry.error.get());
+ appendKeyAndVal("ERROR", entry.error.value());
}
appendKeyAndVal("LEVEL", std::to_string(entry.level));
appendKeyAndVal("PRIORITY", std::to_string(entry.d_priority));
if (entry.name) {
- appendKeyAndVal("SUBSYSTEM", entry.name.get());
+ appendKeyAndVal("SUBSYSTEM", entry.name.value());
}
std::array<char, 64> timebuf{};
appendKeyAndVal("TIMESTAMP", Logging::toTimestampStringMilli(entry.d_timestamp, timebuf));
};
if (entry.error) {
- json.emplace("error", entry.error.get());
+ json.emplace("error", entry.error.value());
}
if (entry.name) {
- json.emplace("subsystem", entry.name.get());
+ json.emplace("subsystem", entry.name.value());
}
if (entry.d_priority != 0) {
buf.str("");
buf << "msg=" << std::quoted(entry.message);
if (entry.error) {
- buf << " error=" << std::quoted(entry.error.get());
+ buf << " error=" << std::quoted(entry.error.value());
}
if (entry.name) {
- buf << " subsystem=" << std::quoted(entry.name.get());
+ buf << " subsystem=" << std::quoted(entry.name.value());
}
buf << " level=" << std::quoted(std::to_string(entry.level));
if (entry.d_priority != 0) {
buf.str("");
buf << "msg=" << std::quoted(entry.message);
if (entry.error) {
- buf << " error=" << std::quoted(entry.error.get());
+ buf << " error=" << std::quoted(entry.error.value());
}
if (entry.name) {
- buf << " subsystem=" << std::quoted(entry.name.get());
+ buf << " subsystem=" << std::quoted(entry.name.value());
}
buf << " level=" << std::quoted(std::to_string(entry.level));
if (entry.d_priority != 0) {
buf.str("");
buf << "msg=" << std::quoted(entry.message);
if (entry.error) {
- buf << " oserror=" << std::quoted(entry.error.get());
+ buf << " oserror=" << std::quoted(entry.error.value());
}
if (entry.name) {
- buf << " subsystem=" << std::quoted(entry.name.get());
+ buf << " subsystem=" << std::quoted(entry.name.value());
}
buf << " level=" << entry.level;
if (entry.d_priority != 0) {