34#include <spdlog/common.h>
40#undef SPDLOG_ACTIVE_LEVEL
41#define SPDLOG_ACTIVE_LEVEL pars_log_level
42#include <spdlog/spdlog.h>
44#include <spdlog/sinks/basic_file_sink.h>
45#include <spdlog/sinks/null_sink.h>
46#include <spdlog/sinks/stdout_color_sinks.h>
49#define PARS_LOG_ENABLE_MSVC
50#include <spdlog/sinks/msvc_sink.h>
52#define PARS_LOG_ENABLE_SYSLOG
53#include <spdlog/sinks/syslog_sink.h>
58#define SL (spdlog::source_loc{__FILE__, __LINE__, SPDLOG_FUNCTION})
63template<
typename... args_t>
65 spdlog::level::level_enum lvl,
66 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
68 if constexpr (pars_log_enabled)
70 if (pars_log_flags &
lf)
71 ::spdlog::log(loc, lvl, fmt, std::forward<args_t>(args)...);
75template<
typename... args_t>
77 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
79 if constexpr (pars_log_enabled)
81 if (pars_log_flags &
lf)
82 ::spdlog::log(lvl, fmt, std::forward<args_t>(args)...);
86template<
typename... args_t>
87inline void log(spdlog::source_loc loc, spdlog::level::level_enum lvl,
88 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
93template<
typename... args_t>
94inline void log(spdlog::level::level_enum lvl,
95 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
100template<
typename... args_t>
102 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
105 std::forward<args_t>(args)...);
108template<
typename... args_t>
112 ::pars::log(
lf, spdlog::level::trace, fmt, std::forward<args_t>(args)...);
115template<
typename... args_t>
116inline void trace(spdlog::source_loc loc,
117 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
119 ::pars::log(loc, spdlog::level::trace, fmt, std::forward<args_t>(args)...);
122template<
typename... args_t>
123inline void trace(spdlog::format_string_t<args_t...> fmt, args_t&&... args)
125 ::pars::log(spdlog::level::trace, fmt, std::forward<args_t>(args)...);
128template<
typename... args_t>
130 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
133 std::forward<args_t>(args)...);
136template<
typename... args_t>
140 ::pars::log(
lf, spdlog::level::debug, fmt, std::forward<args_t>(args)...);
143template<
typename... args_t>
144inline void debug(spdlog::source_loc loc,
145 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
147 ::pars::log(loc, spdlog::level::debug, fmt, std::forward<args_t>(args)...);
150template<
typename... args_t>
151inline void debug(spdlog::format_string_t<args_t...> fmt, args_t&&... args)
153 ::pars::log(spdlog::level::debug, fmt, std::forward<args_t>(args)...);
156template<
typename... args_t>
158 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
160 ::pars::log(loc,
lf, spdlog::level::info, fmt, std::forward<args_t>(args)...);
163template<
typename... args_t>
167 ::pars::log(
lf, spdlog::level::info, fmt, std::forward<args_t>(args)...);
170template<
typename... args_t>
171inline void info(spdlog::source_loc loc, spdlog::format_string_t<args_t...> fmt,
174 ::pars::log(loc, spdlog::level::info, fmt, std::forward<args_t>(args)...);
177template<
typename... args_t>
178inline void info(spdlog::format_string_t<args_t...> fmt, args_t&&... args)
180 ::pars::log(spdlog::level::info, fmt, std::forward<args_t>(args)...);
183template<
typename... args_t>
185 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
187 ::pars::log(loc,
lf, spdlog::level::warn, fmt, std::forward<args_t>(args)...);
190template<
typename... args_t>
194 ::pars::log(
lf, spdlog::level::warn, fmt, std::forward<args_t>(args)...);
197template<
typename... args_t>
198inline void warn(spdlog::source_loc loc, spdlog::format_string_t<args_t...> fmt,
201 ::pars::log(loc, spdlog::level::warn, fmt, std::forward<args_t>(args)...);
204template<
typename... args_t>
205inline void warn(spdlog::format_string_t<args_t...> fmt, args_t&&... args)
207 ::pars::log(spdlog::level::warn, fmt, std::forward<args_t>(args)...);
210template<
typename... args_t>
212 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
214 ::pars::log(loc,
lf, spdlog::level::err, fmt, std::forward<args_t>(args)...);
217template<
typename... args_t>
221 ::pars::log(
lf, spdlog::level::err, fmt, std::forward<args_t>(args)...);
224template<
typename... args_t>
225inline void err(spdlog::source_loc loc, spdlog::format_string_t<args_t...> fmt,
228 ::pars::log(loc, spdlog::level::err, fmt, std::forward<args_t>(args)...);
231template<
typename... args_t>
232inline void err(spdlog::format_string_t<args_t...> fmt, args_t&&... args)
234 ::pars::log(spdlog::level::err, fmt, std::forward<args_t>(args)...);
237template<
typename... args_t>
239 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
242 std::forward<args_t>(args)...);
245template<
typename... args_t>
249 ::pars::log(
lf, spdlog::level::critical, fmt, std::forward<args_t>(args)...);
252template<
typename... args_t>
254 spdlog::format_string_t<args_t...> fmt, args_t&&... args)
256 ::pars::log(loc, spdlog::level::critical, fmt, std::forward<args_t>(args)...);
259template<
typename... args_t>
260inline void critical(spdlog::format_string_t<args_t...> fmt, args_t&&... args)
262 ::pars::log(spdlog::level::critical, fmt, std::forward<args_t>(args)...);
void info(spdlog::source_loc loc, pars::lf lf, spdlog::format_string_t< args_t... > fmt, args_t &&... args)
void err(spdlog::source_loc loc, pars::lf lf, spdlog::format_string_t< args_t... > fmt, args_t &&... args)
void log(spdlog::source_loc loc, pars::lf lf, spdlog::level::level_enum lvl, spdlog::format_string_t< args_t... > fmt, args_t &&... args)
void trace(spdlog::source_loc loc, pars::lf lf, spdlog::format_string_t< args_t... > fmt, args_t &&... args)
void debug(spdlog::source_loc loc, pars::lf lf, spdlog::format_string_t< args_t... > fmt, args_t &&... args)
void critical(spdlog::source_loc loc, pars::lf lf, spdlog::format_string_t< args_t... > fmt, args_t &&... args)
void warn(spdlog::source_loc loc, pars::lf lf, spdlog::format_string_t< args_t... > fmt, args_t &&... args)