20 #ifndef ANTKEEPER_DEBUG_LOG_HPP
21 #define ANTKEEPER_DEBUG_LOG_HPP
23 #include <engine/config.hpp>
26 #include <source_location>
31 #if !defined(ANTKEEPER_DEBUG_LOG_MIN_MESSAGE_SEVERITY)
32 #define ANTKEEPER_DEBUG_LOG_MIN_MESSAGE_SEVERITY (ANTKEEPER_DEBUG_LOG_MESSAGE_SEVERITY_TRACE)
65 [[maybe_unused]] std::string_view
format,
66 [[maybe_unused]] Args&&... args,
67 [[maybe_unused]] std::source_location&& location = std::source_location::current()
72 default_logger().
log(std::vformat(
format, std::make_format_args(std::forward<Args>(args)...)), Severity, std::forward<std::source_location>(location));
81 #if (ANTKEEPER_DEBUG_LOG_MIN_MESSAGE_SEVERITY <= ANTKEEPER_DEBUG_LOG_MESSAGE_SEVERITY_TRACE)
87 template <
class... Args>
91 template <
class... Args>
92 inline void log_trace([[maybe_unused]] Args&&...) noexcept {};
95 #if (ANTKEEPER_DEBUG_LOG_MIN_MESSAGE_SEVERITY <= ANTKEEPER_DEBUG_LOG_MESSAGE_SEVERITY_DEBUG)
101 template <
class... Args>
105 template <
class... Args>
106 inline void log_debug([[maybe_unused]] Args&&...) noexcept {};
109 #if (ANTKEEPER_DEBUG_LOG_MIN_MESSAGE_SEVERITY <= ANTKEEPER_DEBUG_LOG_MESSAGE_SEVERITY_INFO)
115 template <
class... Args>
119 template <
class... Args>
120 inline void log_info([[maybe_unused]] Args&&...) noexcept {};
123 #if (ANTKEEPER_DEBUG_LOG_MIN_MESSAGE_SEVERITY <= ANTKEEPER_DEBUG_LOG_MESSAGE_SEVERITY_WARNING)
129 template <
class... Args>
133 template <
class... Args>
134 inline void log_warning([[maybe_unused]] Args&&...) noexcept {};
137 #if (ANTKEEPER_DEBUG_LOG_MIN_MESSAGE_SEVERITY <= ANTKEEPER_DEBUG_LOG_MESSAGE_SEVERITY_ERROR)
143 template <
class... Args>
147 template <
class... Args>
148 inline void log_error([[maybe_unused]] Args&&...) noexcept {};
151 #if (ANTKEEPER_DEBUG_LOG_MIN_MESSAGE_SEVERITY <= ANTKEEPER_DEBUG_LOG_MESSAGE_SEVERITY_FATAL)
157 template <
class... Args>
161 template <
class... Args>
162 inline void log_fatal([[maybe_unused]] Args&&...) noexcept {};
void log(std::string &&message, log_message_severity severity=log_message_severity::info, std::source_location &&location=std::source_location::current())
Logs a message.
#define ANTKEEPER_DEBUG_LOG_MIN_MESSAGE_SEVERITY
Debugging functions and classes.
log_message< log_message_severity::fatal, Args... > log_fatal
Formats and logs a fatal error message.
log_message< log_message_severity::warning, Args... > log_warning
Formats and logs a warning message.
log_message< log_message_severity::trace, Args... > log_trace
Formats and logs a trace message.
log_message< log_message_severity::debug, Args... > log_debug
Formats and logs a debug message.
log_message_severity
Log message severity levels.
@ trace
Trace message severity.
@ warning
Warning message severity.
@ debug
Debug message severity.
@ info
Info message severity.
@ error
Error message severity.
@ fatal
Fatal error message severity.
log_message(std::string_view, Args &&...) -> log_message< Severity, Args... >
Formats and logs a trace message.
log_message< log_message_severity::error, Args... > log_error
Formats and logs an error message.
logger & default_logger() noexcept
Returns the default logger.
log_message< log_message_severity::info, Args... > log_info
Formats and logs an info message.
format
Image and vertex formats.
Self-formatting message that logs itself to the default logger on construction.
log_message([[maybe_unused]] std::string_view format, [[maybe_unused]] Args &&... args, [[maybe_unused]] std::source_location &&location=std::source_location::current())
Formats and logs a message.