From 7b14a65b2b8cbdca3c6bd1d36fe5b271389c1d07 Mon Sep 17 00:00:00 2001 From: gabime Date: Thu, 24 Jun 2021 17:07:14 +0300 Subject: [PATCH] Fixed format_to deprecated warning by wrapping the buffer with std::back_inserter --- include/spdlog/details/fmt_helper.h | 3 ++- include/spdlog/logger.h | 6 ++++-- include/spdlog/sinks/dup_filter_sink.h | 2 +- tests/test_daily_logger.cpp | 7 ++++--- tests/test_file_helper.cpp | 2 +- tests/test_pattern_formatter.cpp | 2 +- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/include/spdlog/details/fmt_helper.h b/include/spdlog/details/fmt_helper.h index 5dc311a0..dcbee10a 100644 --- a/include/spdlog/details/fmt_helper.h +++ b/include/spdlog/details/fmt_helper.h @@ -4,6 +4,7 @@ #include #include +#include #include #include @@ -54,7 +55,7 @@ inline void pad2(int n, memory_buf_t &dest) } else // unlikely, but just in case, let fmt deal with it { - fmt::format_to(dest, "{:02}", n); + fmt::format_to(std::back_inserter(dest), "{:02}", n); } } diff --git a/include/spdlog/logger.h b/include/spdlog/logger.h index 28e7dffd..bcc8d6e1 100644 --- a/include/spdlog/logger.h +++ b/include/spdlog/logger.h @@ -23,6 +23,8 @@ #endif #include +#include + #ifndef SPDLOG_NO_EXCEPTIONS #define SPDLOG_LOGGER_CATCH() \ catch (const std::exception &ex) \ @@ -238,7 +240,7 @@ public: { // format to wmemory_buffer and convert to utf8 fmt::wmemory_buffer wbuf; - fmt::format_to(wbuf, fmt, std::forward(args)...); + fmt::format_to(std::back_inserter(wbuf), fmt, std::forward(args)...); memory_buf_t buf; details::os::wstr_to_utf8buf(wstring_view_t(wbuf.data(), wbuf.size()), buf); @@ -338,7 +340,7 @@ protected: SPDLOG_TRY { memory_buf_t buf; - fmt::format_to(buf, fmt, std::forward(args)...); + fmt::format_to(std::back_inserter(buf), fmt, std::forward(args)...); details::log_msg log_msg(loc, name_, lvl, string_view_t(buf.data(), buf.size())); log_it_(log_msg, log_enabled, traceback_enabled); } diff --git a/include/spdlog/sinks/dup_filter_sink.h b/include/spdlog/sinks/dup_filter_sink.h index c9a08d68..883c80df 100644 --- a/include/spdlog/sinks/dup_filter_sink.h +++ b/include/spdlog/sinks/dup_filter_sink.h @@ -63,7 +63,7 @@ protected: if (skip_counter_ > 0) { memory_buf_t buf; - fmt::format_to(buf, "Skipped {} duplicate messages..", skip_counter_); + fmt::format_to(std::back_inserter(buf), "Skipped {} duplicate messages..", skip_counter_); details::log_msg skipped_msg{msg.logger_name, level::info, string_view_t{buf.data(), buf.size()}}; dist_sink::sink_it_(skipped_msg); } diff --git a/tests/test_daily_logger.cpp b/tests/test_daily_logger.cpp index 5ab1e206..3a8ebcab 100644 --- a/tests/test_daily_logger.cpp +++ b/tests/test_daily_logger.cpp @@ -15,7 +15,7 @@ TEST_CASE("daily_logger with dateonly calculator", "[daily_logger]") spdlog::filename_t basename = SPDLOG_FILENAME_T("test_logs/daily_dateonly"); std::tm tm = spdlog::details::os::localtime(); filename_memory_buf_t w; - fmt::format_to(w, SPDLOG_FILENAME_T("{}_{:04d}-{:02d}-{:02d}"), basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); + fmt::format_to(std::back_inserter(w), SPDLOG_FILENAME_T("{}_{:04d}-{:02d}-{:02d}"), basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); auto logger = spdlog::create("logger", basename, 0, 0); for (int i = 0; i < 10; ++i) @@ -40,7 +40,8 @@ struct custom_daily_file_name_calculator static spdlog::filename_t calc_filename(const spdlog::filename_t &basename, const tm &now_tm) { filename_memory_buf_t w; - fmt::format_to(w, SPDLOG_FILENAME_T("{}{:04d}{:02d}{:02d}"), basename, now_tm.tm_year + 1900, now_tm.tm_mon + 1, now_tm.tm_mday); + fmt::format_to(std::back_inserter(w), SPDLOG_FILENAME_T("{}{:04d}{:02d}{:02d}"), basename, now_tm.tm_year + 1900, + now_tm.tm_mon + 1, now_tm.tm_mday); return fmt::to_string(w); } }; @@ -55,7 +56,7 @@ TEST_CASE("daily_logger with custom calculator", "[daily_logger]") spdlog::filename_t basename = SPDLOG_FILENAME_T("test_logs/daily_dateonly"); std::tm tm = spdlog::details::os::localtime(); filename_memory_buf_t w; - fmt::format_to(w, SPDLOG_FILENAME_T("{}{:04d}{:02d}{:02d}"), basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); + fmt::format_to(std::back_inserter(w), SPDLOG_FILENAME_T("{}{:04d}{:02d}{:02d}"), basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); auto logger = spdlog::create("logger", basename, 0, 0); for (int i = 0; i < 10; ++i) diff --git a/tests/test_file_helper.cpp b/tests/test_file_helper.cpp index 57f5d8fa..31cf5b53 100644 --- a/tests/test_file_helper.cpp +++ b/tests/test_file_helper.cpp @@ -10,7 +10,7 @@ using spdlog::details::file_helper; static void write_with_helper(file_helper &helper, size_t howmany) { spdlog::memory_buf_t formatted; - fmt::format_to(formatted, "{}", std::string(howmany, '1')); + fmt::format_to(std::back_inserter(formatted), "{}", std::string(howmany, '1')); helper.write(formatted); helper.flush(); } diff --git a/tests/test_pattern_formatter.cpp b/tests/test_pattern_formatter.cpp index 6d169988..656f93a0 100644 --- a/tests/test_pattern_formatter.cpp +++ b/tests/test_pattern_formatter.cpp @@ -64,7 +64,7 @@ TEST_CASE("color range test1", "[pattern_formatter]") auto formatter = std::make_shared("%^%v%$", spdlog::pattern_time_type::local, "\n"); memory_buf_t buf; - fmt::format_to(buf, "Hello"); + fmt::format_to(std::back_inserter(buf), "Hello"); memory_buf_t formatted; std::string logger_name = "test"; spdlog::details::log_msg msg(logger_name, spdlog::level::info, spdlog::string_view_t(buf.data(), buf.size()));