diff --git a/include/spdlog/common.h b/include/spdlog/common.h index 8627ca4d..2e373438 100644 --- a/include/spdlog/common.h +++ b/include/spdlog/common.h @@ -43,11 +43,13 @@ #if !defined(SPDLOG_USE_STD_FORMAT) && FMT_VERSION >= 80000 // backward compatibility with fmt versions older than 8 #define SPDLOG_FMT_RUNTIME(format_string) fmt::runtime(format_string) + #define SPDLOG_FMT_STRING(format_string) FMT_STRING(format_string) #if defined(SPDLOG_WCHAR_FILENAMES) #include "fmt/xchar.h" #endif #else #define SPDLOG_FMT_RUNTIME(format_string) format_string + #define SPDLOG_FMT_STRING(format_string) format_string #endif #ifndef SPDLOG_FUNCTION diff --git a/include/spdlog/details/fmt_helper.h b/include/spdlog/details/fmt_helper.h index 598cac14..5ee8bb14 100644 --- a/include/spdlog/details/fmt_helper.h +++ b/include/spdlog/details/fmt_helper.h @@ -88,7 +88,7 @@ inline void pad2(int n, memory_buf_t &dest) { dest.push_back(static_cast('0' + n % 10)); } else // unlikely, but just in case, let fmt deal with it { - fmt_lib::format_to(std::back_inserter(dest), "{:02}", n); + fmt_lib::format_to(std::back_inserter(dest), SPDLOG_FMT_STRING("{:02}"), n); } } diff --git a/include/spdlog/fmt/bin_to_hex.h b/include/spdlog/fmt/bin_to_hex.h index a0660cd4..71ebe26a 100644 --- a/include/spdlog/fmt/bin_to_hex.h +++ b/include/spdlog/fmt/bin_to_hex.h @@ -211,7 +211,7 @@ struct formatter, char> { *inserter++ = '\n'; if (put_positions) { - spdlog::fmt_lib::format_to(inserter, "{:04X}: ", pos); + spdlog::fmt_lib::format_to(inserter, SPDLOG_FMT_STRING("{:04X}: "), pos); } } }; diff --git a/include/spdlog/logger.h b/include/spdlog/logger.h index e43691da..6f3a755f 100644 --- a/include/spdlog/logger.h +++ b/include/spdlog/logger.h @@ -25,7 +25,7 @@ #define SPDLOG_LOGGER_CATCH(location) \ catch (const std::exception &ex) { \ if (!location.empty()) { \ - err_handler_(fmt_lib::format("{} [{}({})]", ex.what(), location.filename, location.line)); \ + err_handler_(fmt_lib::format(SPDLOG_FMT_STRING("{} [{}({})]"), ex.what(), location.filename, location.line)); \ } else { \ err_handler_(ex.what()); \ } \ diff --git a/include/spdlog/sinks/daily_file_sink.h b/include/spdlog/sinks/daily_file_sink.h index 7e590164..3d30d8c4 100644 --- a/include/spdlog/sinks/daily_file_sink.h +++ b/include/spdlog/sinks/daily_file_sink.h @@ -29,7 +29,7 @@ struct daily_filename_calculator { static filename_t calc_filename(const filename_t &filename, const tm &now_tm) { filename_t basename, ext; std::tie(basename, ext) = details::file_helper::split_by_extension(filename); - return fmt_lib::format(SPDLOG_FILENAME_T("{}_{:04d}-{:02d}-{:02d}{}"), basename, now_tm.tm_year + 1900, now_tm.tm_mon + 1, + return fmt_lib::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{}_{:04d}-{:02d}-{:02d}{}")), basename, now_tm.tm_year + 1900, now_tm.tm_mon + 1, now_tm.tm_mday, ext); } }; diff --git a/src/sinks/rotating_file_sink.cpp b/src/sinks/rotating_file_sink.cpp index eaa645e7..a2b449c0 100644 --- a/src/sinks/rotating_file_sink.cpp +++ b/src/sinks/rotating_file_sink.cpp @@ -51,7 +51,7 @@ filename_t rotating_file_sink::calc_filename(const filename_t &filename, filename_t basename, ext; std::tie(basename, ext) = details::file_helper::split_by_extension(filename); - return fmt_lib::format(SPDLOG_FILENAME_T("{}.{}{}"), basename, index, ext); + return fmt_lib::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{}.{}{}")), basename, index, ext); } template