diff --git a/include/spdlog/logger.h b/include/spdlog/logger.h index 6cbcdf6f..fe9db35f 100644 --- a/include/spdlog/logger.h +++ b/include/spdlog/logger.h @@ -102,6 +102,15 @@ public: log(loc, lvl, string_view_t{msg}); } + // T cannot be statically converted to niether string_view, neither wstring_view and niether to format string + template::value + && !is_convertible_to_basic_format_string::value, + int>::type = 0> + void log(source_loc loc, level::level_enum lvl, const T &msg) + { + log(loc, lvl, "{}", msg); + } + void log(log_clock::time_point log_time, source_loc loc, level::level_enum lvl, string_view_t msg) { bool log_enabled = should_log(lvl); @@ -132,14 +141,7 @@ public: { log(source_loc{}, lvl, msg); } - - // T cannot be statically converted to string_view or wstring_view - template::value, int>::type = 0> - void log(source_loc loc, level::level_enum lvl, const T &msg) - { - log(loc, lvl, "{}", msg); - } - + template void trace(fmt::format_string fmt, Args &&...args) {