20template <
class S,
class C,
typename =
void>
25template <
class S,
class C>
26struct is_streamable<S, C, decltype(void(std::declval<S&>() << std::declval<C const&>()))> : ::std::true_type
51 static const LoggerLevel&
getlevel() {
return level_; }
58 static void setLevel(
const LoggerLevel& level) { level_ = level; }
67 static void info(
const T& msg)
70 if (level_ == LoggerLevel::INFO || level_ == LoggerLevel::FULL)
72 std::cout <<
"[ INFO]: " << msg <<
'.' << std::endl;
83 static void err(
const T& msg)
86 if (level_ == LoggerLevel::INFO || level_ == LoggerLevel::WARN || level_ == LoggerLevel::ERR ||
87 level_ == LoggerLevel::FULL)
89 std::cout <<
"\033[31m[ ERROR]: " << msg <<
".\033[0m" << std::endl;
103 if (level_ == LoggerLevel::INFO || level_ == LoggerLevel::WARN || level_ == LoggerLevel::FULL)
105 std::cout <<
"\033[33m[ WARNING]: " << msg <<
".\033[0m" << std::endl;
115 template <
typename T>
119 if (level_ == LoggerLevel::FULL)
121 std::cout <<
"\033[34m[ DEBUG]: " << msg <<
".\033[0m" << std::endl;
126 static inline LoggerLevel level_ = LoggerLevel::INFO;
Logger.
Definition logger.hpp:44
static void warn(const T &msg)
Format a warn message and log it in yellow.
Definition logger.hpp:100
static const LoggerLevel & getlevel()
Get the logger level (see LoggerLevel)
Definition logger.hpp:51
static void debug(const T &msg)
Format a debug message and log it in blue.
Definition logger.hpp:116
static void err(const T &msg)
Format a error message and log it in red.
Definition logger.hpp:83
static void info(const T &msg)
Format a info message and log it in white.
Definition logger.hpp:67
static void setLevel(const LoggerLevel &level)
Set the logger level (see LoggerLevel)
Definition logger.hpp:58