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#ifndef SPDLOG_HEADER_ONLY
7 #include <spdlog/details/log_msg.h>
8#endif
9
10#include <spdlog/details/os.h>
11
12namespace spdlog {
13namespace details {
14
15SPDLOG_INLINE log_msg::log_msg(spdlog::log_clock::time_point log_time,
16 spdlog::source_loc loc,
17 string_view_t a_logger_name,
18 spdlog::level::level_enum lvl,
19 spdlog::string_view_t msg)
20 : logger_name(a_logger_name),
21 level(lvl),
22 time(log_time)
23#ifndef SPDLOG_NO_THREAD_ID
24 ,
25 thread_id(os::thread_id())
26#endif
27 ,
28 source(loc),
29 payload(msg) {
30}
31
32SPDLOG_INLINE log_msg::log_msg(spdlog::source_loc loc,
33 string_view_t a_logger_name,
34 spdlog::level::level_enum lvl,
35 spdlog::string_view_t msg)
36 : log_msg(os::now(), loc, a_logger_name, lvl, msg) {}
37
38SPDLOG_INLINE log_msg::log_msg(string_view_t a_logger_name,
39 spdlog::level::level_enum lvl,
40 spdlog::string_view_t msg)
41 : log_msg(os::now(), source_loc{}, a_logger_name, lvl, msg) {}
42
43} // namespace details
44} // namespace spdlog
45