backward compatibility with fmt version < 8
This commit is contained in:
		@@ -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));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user