70 m_minLevel.store(level, std::memory_order_release);
74 return m_minLevel.load(std::memory_order_acquire);
83 template <
typename... Args>
84 void Debug(std::format_string<Args...> fmt, Args... args) {
90 template <
typename... Args>
91 void Info(std::format_string<Args...> fmt, Args... args) {
93 LogVFormat(
LogLevel::Info, fmt.get(), std::make_format_args(args...));
97 template <
typename... Args>
98 void Warning(std::format_string<Args...> fmt, Args... args) {
104 template <
typename... Args>
105 void Error(std::format_string<Args...> fmt, Args... args) {
107 LogVFormat(
LogLevel::Error, fmt.get(), std::make_format_args(args...));
111 template <
typename... Args>
112 void Fatal(std::format_string<Args...> fmt, Args... args) {
114 LogVFormat(
LogLevel::Fatal, fmt.get(), std::make_format_args(args...));
119 void Debug(std::string_view message) {
124 void Info(std::string_view message) {
134 void Error(std::string_view message) {
139 void Fatal(std::string_view message) {
153 std::unique_ptr<Impl> m_impl;
158 void LogVFormat(
LogLevel level, std::string_view fmt, std::format_args args);
159 void LogPlain(
LogLevel level, std::string_view message);
165#define LOG_DEBUG(...) MetaImGUI::Logger::Instance().Debug(__VA_ARGS__)
166#define LOG_INFO(...) MetaImGUI::Logger::Instance().Info(__VA_ARGS__)
167#define LOG_WARNING(...) MetaImGUI::Logger::Instance().Warning(__VA_ARGS__)
168#define LOG_ERROR(...) MetaImGUI::Logger::Instance().Error(__VA_ARGS__)
169#define LOG_FATAL(...) MetaImGUI::Logger::Instance().Fatal(__VA_ARGS__)