@@ -108,11 +108,32 @@ TEST_CASE("rotating_file_logger4", "[rotating_logger]") {
108108}
109109
110110TEST_CASE (" rotating_file_logger5" , " [rotating_logger]" ) {
111+ auto empty_callback = [](const spdlog::filename_t &) -> std::optional<spdlog::details::log_msg> { return {}; };
112+
113+ prepare_logdir ();
114+ size_t max_size = 1024 * 10 ;
115+ spdlog::filename_t basename = SPDLOG_FILENAME_T (ROTATING_LOG);
116+ auto sink = std::make_shared<spdlog::sinks::rotating_file_sink_st>(basename, max_size, 2 , false , empty_callback);
117+ auto logger = std::make_shared<spdlog::logger>(" rotating_sink_logger" , sink);
118+ logger->info (" Test message - pre-rotation" );
119+ logger->flush ();
120+ sink->rotate_now ();
121+ logger->info (" Test message - post-rotation" );
122+ logger->flush ();
123+ REQUIRE (get_filesize (ROTATING_LOG) > 0 );
124+ REQUIRE (get_filesize (ROTATING_LOG " .1" ) > 0 );
125+ require_message_count (ROTATING_LOG, 1 );
126+ }
127+
128+ TEST_CASE (" rotating_file_logger6" , " [rotating_logger]" ) {
129+ auto empty_callback = [](const spdlog::filename_t &) -> std::optional<spdlog::details::log_msg> {
130+ return spdlog::details::log_msg{spdlog::log_clock::now (), {}, " COMMON" , spdlog::level::info, " rotating file log message" };
131+ };
132+
111133 prepare_logdir ();
112134 size_t max_size = 1024 * 10 ;
113135 spdlog::filename_t basename = SPDLOG_FILENAME_T (ROTATING_LOG);
114- auto rotating_msg = spdlog::details::log_msg (" ROTATING_FILE_SINK" , spdlog::level::info, " rotating file" );
115- auto sink = std::make_shared<spdlog::sinks::rotating_file_sink_st>(basename, max_size, 2 , false , rotating_msg);
136+ auto sink = std::make_shared<spdlog::sinks::rotating_file_sink_st>(basename, max_size, 2 , false , empty_callback);
116137 auto logger = std::make_shared<spdlog::logger>(" rotating_sink_logger" , sink);
117138 logger->info (" Test message - pre-rotation" );
118139 logger->flush ();
0 commit comments