57 {
58 if constexpr (pars_log_enabled)
59 {
60 using namespace spdlog;
61
63
64 std::vector<sink_ptr> sinks;
65
66 auto stderr_s = std::make_shared<sinks::stderr_color_sink_mt>();
67
68 if constexpr (pars_log_enable_stderr)
69 {
70 auto stderr_sink = std::make_shared<sinks::stderr_color_sink_mt>();
71
72 sinks.push_back(stderr_s);
73 }
74
75 if constexpr (pars_log_enable_file)
76 {
77 auto file_s = std::make_shared<sinks::basic_file_sink_mt>("pars.log");
78
79 sinks.push_back(file_s);
80 }
81
82#if defined(PARS_LOG_ENABLE_MSVC)
83 auto msvc_s = std::make_shared<sinks::msvc_sink_mt>();
84
85 sinks.push_back(msvc_s);
86#endif
87
88#if defined(PARS_LOG_ENABLE_SYSLOG)
89 auto syslog_s = std::make_shared<sinks::syslog_sink_mt>(
90 "pars", LOG_CONS | LOG_NDELAY, LOG_LOCAL2, true);
91
92 sinks.push_back(syslog_s);
93#endif
94
96
97 {
98 auto default_l = std::make_shared<logger>("pars");
99
100
101
102 default_l->sinks() = sinks;
103
104 register_logger(default_l);
105
106 set_pattern(default_pattern());
107
108 set_default_logger(default_l);
109
111 }
112 }
113 }
#define SPDLOG_ACTIVE_LEVEL