fix SPDLOG-library related class
This commit is contained in:
@@ -81,6 +81,28 @@ public:
|
||||
constexpr static std::array LOGGER_DEFAULT_FORMAT = {std::string_view{"[%Y-%m-%d %T.%e]"}, std::string_view{"[%l]"},
|
||||
std::string_view{": "}, std::string_view{"%v"}};
|
||||
|
||||
// special logger names
|
||||
|
||||
constexpr static std::string_view STDOUT_LOGGER_MARK{"stdout"};
|
||||
|
||||
constexpr static std::string_view STDERR_LOGGER_MARK{"stderr"};
|
||||
|
||||
constexpr static std::string_view NULL_LOGGER_MARK{"null"};
|
||||
|
||||
/* helper method */
|
||||
|
||||
static std::shared_ptr<spdlog::logger> makeLoggerFromMark(std::string const& mark, std::string const& name)
|
||||
{
|
||||
if (mark == STDOUT_LOGGER_MARK) {
|
||||
return std::make_shared<spdlog::stdout_logger_mt>(name);
|
||||
} else if (mark == STDERR_LOGGER_MARK) {
|
||||
return std::make_shared<spdlog::stderr_logger_mt>(name);
|
||||
} else if (mark == NULL_LOGGER_MARK) {
|
||||
return std::make_shared<spdlog::null_logger_mt>(name);
|
||||
} else { // 'mark' is filename here
|
||||
return std::make_shared<spdlog::basic_logger_mt>(name, mark);
|
||||
}
|
||||
}
|
||||
|
||||
/* some factory static methods */
|
||||
|
||||
@@ -89,7 +111,7 @@ public:
|
||||
static snplib_spdlog_logger_t makeConsoleLogger(std::string const& logger_name,
|
||||
R const& pattern_range = LOGGER_DEFAULT_FORMAT)
|
||||
{
|
||||
return snplib_spdlog_logger_t(spdlog::stdout_logger_mt(logger_name), pattern_range);
|
||||
return snplib_spdlog_logger_t(std::make_shared<spdlog::stdout_logger_mt>(logger_name), pattern_range);
|
||||
}
|
||||
|
||||
template <std::ranges::input_range R = decltype(LOGGER_DEFAULT_FORMAT)>
|
||||
@@ -97,7 +119,7 @@ public:
|
||||
static snplib_spdlog_logger_t makeConsoleErrLogger(std::string const& logger_name,
|
||||
R const& pattern_range = LOGGER_DEFAULT_FORMAT)
|
||||
{
|
||||
return snplib_spdlog_logger_t(spdlog::stderr_logger_mt(logger_name), pattern_range);
|
||||
return snplib_spdlog_logger_t(std::make_shared<spdlog::stderr_logger_mt>(logger_name), pattern_range);
|
||||
}
|
||||
|
||||
|
||||
@@ -105,7 +127,7 @@ public:
|
||||
requires snplib_input_char_range_c<std::ranges::range_value_t<R>>
|
||||
static snplib_spdlog_logger_t makeNullLogger(std::string const& logger_name)
|
||||
{
|
||||
return snplib_spdlog_logger_t(spdlog::null_logger_mt(logger_name));
|
||||
return snplib_spdlog_logger_t(std::make_shared<spdlog::null_logger_mt>(logger_name));
|
||||
}
|
||||
|
||||
|
||||
@@ -132,6 +154,7 @@ public:
|
||||
_loggerSPtr->set_pattern(_currentLogPattern);
|
||||
}
|
||||
|
||||
|
||||
virtual ~snplib_spdlog_logger_t() = default;
|
||||
|
||||
void setLoglevel(spdlog::level::level_enum level)
|
||||
|
||||
Reference in New Issue
Block a user