diff --git a/include/spdlog/common.h b/include/spdlog/common.h index d391b11b..0d614dfc 100644 --- a/include/spdlog/common.h +++ b/include/spdlog/common.h @@ -208,7 +208,7 @@ using level_t = std::atomic; // Log level enum namespace level { -enum level_enum +enum level_enum : int { trace = SPDLOG_LEVEL_TRACE, debug = SPDLOG_LEVEL_DEBUG, diff --git a/include/spdlog/fwd.h b/include/spdlog/fwd.h index cc05ddd4..d2588257 100644 --- a/include/spdlog/fwd.h +++ b/include/spdlog/fwd.h @@ -11,4 +11,8 @@ namespace sinks { class sink; } +namespace level { +enum level_enum : int; +} + } // namespace spdlog diff --git a/include/spdlog/sinks/ansicolor_sink-inl.h b/include/spdlog/sinks/ansicolor_sink-inl.h index d8db423c..b5848f2d 100644 --- a/include/spdlog/sinks/ansicolor_sink-inl.h +++ b/include/spdlog/sinks/ansicolor_sink-inl.h @@ -34,7 +34,7 @@ template SPDLOG_INLINE void ansicolor_sink::set_color(level::level_enum color_level, string_view_t color) { std::lock_guard lock(mutex_); - colors_[color_level] = to_string_(color); + colors_[static_cast(color_level)] = to_string_(color); } template @@ -52,7 +52,7 @@ SPDLOG_INLINE void ansicolor_sink::log(const details::log_msg &msg // before color range print_range_(formatted, 0, msg.color_range_start); // in color range - print_ccode_(colors_[msg.level]); + print_ccode_(colors_[static_cast(msg.level)]); print_range_(formatted, msg.color_range_start, msg.color_range_end); print_ccode_(reset); // after color range