3#include <boost/describe.hpp>
26 static std::optional<LogLevel> level = std::nullopt;
27 if (!level.has_value()) {
28 if (getenv(
"WREN_LOG_LEVEL") != nullptr) {
30 utils::string_to_enum<LogLevel>(getenv(
"WREN_LOG_LEVEL"), true);
31 if (l_opt) level = l_opt.value_or(LogLevel::Info);
33 level = LogLevel::Info;
40template <
typename... Args>
41void trace(
const std::format_string<Args...>& fmt, Args&&... args) {
44 std::format(fmt, std::forward<Args>(args)...));
48template <
typename... Args>
49void debug(
const std::format_string<Args...>& fmt, Args&&... args) {
52 std::format(fmt, std::forward<Args>(args)...));
56template <
typename... Args>
57void info(
const std::format_string<Args...>& fmt, Args&&... args) {
60 std::format(fmt, std::forward<Args>(args)...));
64template <
typename... Args>
65void warn(
const std::format_string<Args...>& fmt, Args&&... args) {
68 std::format(fmt, std::forward<Args>(args)...));
72template <
typename... Args>
73void error(
const std::format_string<Args...>& fmt, Args&&... args) {
76 std::format(fmt, std::forward<Args>(args)...));
80template <
typename... Args>
81void fatal(
const std::format_string<Args...>& fmt, Args&&... args) {
84 std::format(fmt, std::forward<Args>(args)...));
constexpr auto kBlue
Definition ansi.hpp:33
constexpr auto kGrey
Definition ansi.hpp:32
constexpr auto kReset
Definition ansi.hpp:29
constexpr auto kGreen
Definition ansi.hpp:34
constexpr auto kOrange
Definition ansi.hpp:30
constexpr auto kRed
Definition ansi.hpp:31
static auto get_log_level()
Definition log.hpp:25
void trace(const std::format_string< Args... > &fmt, Args &&... args)
Definition log.hpp:41
void error(const std::format_string< Args... > &fmt, Args &&... args)
Definition log.hpp:73
void warn(const std::format_string< Args... > &fmt, Args &&... args)
Definition log.hpp:65
void debug(const std::format_string< Args... > &fmt, Args &&... args)
Definition log.hpp:49
void info(const std::format_string< Args... > &fmt, Args &&... args)
Definition log.hpp:57
void fatal(const std::format_string< Args... > &fmt, Args &&... args)
Definition log.hpp:81
LogLevel
Definition log.hpp:14
@ Info
Definition log.hpp:17
@ Warn
Definition log.hpp:18
@ Fatal
Definition log.hpp:20
@ Error
Definition log.hpp:19
@ Debug
Definition log.hpp:16
@ Trace
Definition log.hpp:15