1 // 2 // Copyright(c) 2015 Gabi Melman. 3 // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 // 5 6 #pragma once 7 8 #include <spdlog/common.h> 9 #include <spdlog/details/os.h> 10 11 12 #include <string> 13 #include <utility> 14 15 namespace spdlog 16 { 17 namespace details 18 { 19 struct log_msg 20 { 21 log_msg() = default; log_msglog_msg22 log_msg(const std::string *loggers_name, level::level_enum lvl) : logger_name(loggers_name), level(lvl) 23 { 24 #ifndef SPDLOG_NO_DATETIME 25 time = os::now(); 26 #endif 27 28 #ifndef SPDLOG_NO_THREAD_ID 29 thread_id = os::thread_id(); 30 #endif 31 } 32 33 log_msg(const log_msg& other) = delete; 34 log_msg& operator=(log_msg&& other) = delete; 35 log_msg(log_msg&& other) = delete; 36 37 38 const std::string *logger_name; 39 level::level_enum level; 40 log_clock::time_point time; 41 size_t thread_id; 42 fmt::MemoryWriter raw; 43 fmt::MemoryWriter formatted; 44 }; 45 } 46 } 47