diff --git a/include/spdlog/sinks/syslog_sink.h b/include/spdlog/sinks/syslog_sink.h index 9f32b667..efd6b5d2 100644 --- a/include/spdlog/sinks/syslog_sink.h +++ b/include/spdlog/sinks/syslog_sink.h @@ -22,6 +22,15 @@ class syslog_sink : public base_sink public: syslog_sink(std::string ident, int syslog_option, int syslog_facility, bool enable_formatting) : enable_formatting_{enable_formatting} + , syslog_levels_{ + /* spdlog::level::trace */ LOG_DEBUG, + /* spdlog::level::debug */ LOG_DEBUG, + /* spdlog::level::info */ LOG_INFO, + /* spdlog::level::warn */ LOG_WARNING, + /* spdlog::level::err */ LOG_ERR, + /* spdlog::level::critical */ LOG_CRIT, + /* spdlog::level::off */ LOG_INFO + } , ident_{std::move(ident)} { // set ident to be program name if empty @@ -59,15 +68,7 @@ protected: bool enable_formatting_ = false; private: - std::array syslog_levels_ { - /* level::trace */ LOG_DEBUG, - /* level::debug */ LOG_DEBUG, - /* level::info */ LOG_INFO, - /* level::warn */ LOG_WARNING, - /* level::err */ LOG_ERR, - /* level::critical */ LOG_CRIT, - /* level::off */ LOG_INFO - }; + std::array syslog_levels_; // must store the ident because the man says openlog might use the pointer as // is and not a string copy const std::string ident_; diff --git a/include/spdlog/sinks/systemd_sink.h b/include/spdlog/sinks/systemd_sink.h index 15938fa2..23f9e5b3 100644 --- a/include/spdlog/sinks/systemd_sink.h +++ b/include/spdlog/sinks/systemd_sink.h @@ -23,7 +23,16 @@ class systemd_sink : public base_sink { public: // - explicit systemd_sink() {} + systemd_sink(): syslog_levels_{ + /* spdlog::level::trace */ LOG_DEBUG, + /* spdlog::level::debug */ LOG_DEBUG, + /* spdlog::level::info */ LOG_INFO, + /* spdlog::level::warn */ LOG_WARNING, + /* spdlog::level::err */ LOG_ERR, + /* spdlog::level::critical */ LOG_CRIT, + /* spdlog::level::off */ LOG_INFO + } + {} ~systemd_sink() override {} @@ -32,15 +41,7 @@ public: protected: - std::array syslog_levels_ { - /* level::trace */ LOG_DEBUG, - /* level::debug */ LOG_DEBUG, - /* level::info */ LOG_INFO, - /* level::warn */ LOG_WARNING, - /* level::err */ LOG_ERR, - /* level::critical */ LOG_CRIT, - /* level::off */ LOG_INFO - }; + std::array syslog_levels_; void sink_it_(const details::log_msg &msg) override {