backward compatibility with fmt version < 8

This commit is contained in:
gabime 2021-07-10 13:48:06 +03:00
parent b83106bed4
commit 0f83b33d4f
4 changed files with 16 additions and 11 deletions

View File

@ -103,12 +103,11 @@ int main(int argc, char *argv[])
auto slot_size = sizeof(spdlog::details::async_msg); auto slot_size = sizeof(spdlog::details::async_msg);
spdlog::info("-------------------------------------------------"); spdlog::info("-------------------------------------------------");
spdlog::info(fmt::format(std::locale("en_US.UTF-8"), "Messages : {:L}", howmany)); spdlog::info("Messages : {:L}", howmany);
spdlog::info(fmt::format(std::locale("en_US.UTF-8"), "Threads : {:L}", threads)); spdlog::info("Threads : {:L}", threads);
spdlog::info(fmt::format(std::locale("en_US.UTF-8"), "Queue : {:L} slots", queue_size)); spdlog::info("Queue : {:L} slots", queue_size);
spdlog::info(fmt::format( spdlog::info("Queue memory : {:L} x {:L} = {:L} KB ", queue_size, slot_size, (queue_size * slot_size) / 1024);
std::locale("en_US.UTF-8"), "Queue memory : {:L} x {:L} = {:L} KB ", queue_size, slot_size, (queue_size * slot_size) / 1024)); spdlog::info("Total iters : {:L}", iters);
spdlog::info(fmt::format(std::locale("en_US.UTF-8"), "Total iters : {:L}", iters));
spdlog::info("-------------------------------------------------"); spdlog::info("-------------------------------------------------");
const char *filename = "logs/basic_async.log"; const char *filename = "logs/basic_async.log";
@ -181,5 +180,5 @@ void bench_mt(int howmany, std::shared_ptr<spdlog::logger> logger, int thread_co
auto delta = high_resolution_clock::now() - start; auto delta = high_resolution_clock::now() - start;
auto delta_d = duration_cast<duration<double>>(delta).count(); auto delta_d = duration_cast<duration<double>>(delta).count();
spdlog::info(fmt::format(std::locale("en_US.UTF-8"), "Elapsed: {} secs\t {:L}/sec", delta_d, int(howmany / delta_d))); spdlog::info("Elapsed: {} secs\t {:L}/sec", delta_d, int(howmany / delta_d));
} }

View File

@ -35,9 +35,15 @@
#include <spdlog/fmt/fmt.h> #include <spdlog/fmt/fmt.h>
// backward compatibility with fmt versions older than 8
#if FMT_VERSION >= 80000
# define SPDLOG_FMT_RUNTIME(format_string) fmt::runtime(format_string)
# if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT) # if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT)
# include <spdlog/fmt/xchar.h> # include <spdlog/fmt/xchar.h>
# endif # endif
#else
# define SPDLOG_FMT_RUNTIME(format_string) format_string
#endif
// visual studio upto 2013 does not support noexcept nor constexpr // visual studio upto 2013 does not support noexcept nor constexpr
#if defined(_MSC_VER) && (_MSC_VER < 1900) #if defined(_MSC_VER) && (_MSC_VER < 1900)

View File

@ -341,7 +341,7 @@ protected:
SPDLOG_TRY SPDLOG_TRY
{ {
memory_buf_t buf; memory_buf_t buf;
fmt::format_to(std::back_inserter(buf), fmt::runtime(fmt), std::forward<Args>(args)...); fmt::format_to(std::back_inserter(buf), SPDLOG_FMT_RUNTIME(fmt), std::forward<Args>(args)...);
details::log_msg log_msg(loc, name_, lvl, string_view_t(buf.data(), buf.size())); details::log_msg log_msg(loc, name_, lvl, string_view_t(buf.data(), buf.size()));
log_it_(log_msg, log_enabled, traceback_enabled); log_it_(log_msg, log_enabled, traceback_enabled);
} }

View File

@ -53,7 +53,7 @@ struct daily_filename_format_calculator
#if defined(_MSC_VER) && defined(SPDLOG_WCHAR_FILENAMES) // for some reason msvc doesnt allow fmt::runtime(..) with wchar here #if defined(_MSC_VER) && defined(SPDLOG_WCHAR_FILENAMES) // for some reason msvc doesnt allow fmt::runtime(..) with wchar here
return fmt::format(fmt_filename, now_tm); return fmt::format(fmt_filename, now_tm);
#else #else
return fmt::format(fmt::runtime(fmt_filename), now_tm); return fmt::format(SPDLOG_FMT_RUNTIME(fmt_filename), now_tm);
#endif #endif
} }
}; };