#pragma once #include "MessageRegistry.hpp" #include #include #include class MessengerDebugLog { public: MessengerDebugLog(MessengerDebugLog&& m) : m_log_file(std::move(m.m_log_file)) { } MessengerDebugLog(const std::string& log_file_path); ~MessengerDebugLog(); template void log_send(const T& message) { spdlog::info("Sending [{}]: {}", (int)tw::Message::value, message.DebugString()); } template void log_recv(const T& message) { spdlog::info("Received [{}]: {}", (int)tw::Message::value, message.DebugString()); } private: std::ofstream m_log_file; };