1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. |
2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) |
3 | |
4 | #pragma once |
5 | |
6 | #include <spdlog/common.h> |
7 | #include <string> |
8 | |
9 | namespace spdlog { |
10 | namespace details { |
11 | struct SPDLOG_API log_msg { |
12 | log_msg() = default; |
13 | log_msg(log_clock::time_point log_time, |
14 | source_loc loc, |
15 | string_view_t logger_name, |
16 | level::level_enum lvl, |
17 | string_view_t msg); |
18 | log_msg(source_loc loc, string_view_t logger_name, level::level_enum lvl, string_view_t msg); |
19 | log_msg(string_view_t logger_name, level::level_enum lvl, string_view_t msg); |
20 | log_msg(const log_msg &other) = default; |
21 | log_msg &operator=(const log_msg &other) = default; |
22 | |
23 | string_view_t logger_name; |
24 | level::level_enum level{level::off}; |
25 | log_clock::time_point time; |
26 | size_t thread_id{0}; |
27 | |
28 | // wrapping the formatted text with color (updated by pattern_formatter). |
29 | mutable size_t color_range_start{0}; |
30 | mutable size_t color_range_end{0}; |
31 | |
32 | source_loc source; |
33 | string_view_t payload; |
34 | }; |
35 | } // namespace details |
36 | } // namespace spdlog |
37 | |
38 | #ifdef SPDLOG_HEADER_ONLY |
39 | #include "log_msg-inl.h" |
40 | #endif |
41 | |