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