Evergreen logs in the CppSuite appear out of sync with the logged time by the CppSuite logger. While not really an issue it can make things a bit confusing when viewing CppSuite logs in evergreen. This is happening as we're not flushing when calling std::cout in the Logger component. We call std::endl but it is contained within the ostringstream which drops the std::flush.
This is a relatively easy fix:
test/cppsuite/src/common/logger.cpp diff --git a/test/cppsuite/src/common/logger.cpp b/test/cppsuite/src/common/logger.cpp index 4bb0e982a..4de314db9 100644 --- a/test/cppsuite/src/common/logger.cpp +++ b/test/cppsuite/src/common/logger.cpp @@ -86,13 +86,13 @@ logger::log_msg(int64_t trace_type, const std::string &str) std::ostringstream ss; ss << time_buf << "[TID:" << std::this_thread::get_id() << "][" << LOG_LEVELS[trace_type] - << "]: " << str << std::endl; + << "]: " << str; std::lock_guard<std::mutex> lg(_logger_mtx); if (trace_type == LOG_ERROR) - std::cerr << ss.str(); + std::cerr << ss.str() << std::endl; else - std::cout << ss.str(); + std::cout << ss.str() << std::endl; } } } // namespace test_harness
See: EVG-18114 for more details.