working cmd handler

This commit is contained in:
2023-02-19 22:31:07 +01:00
parent 658f545f23
commit fa85779088
3 changed files with 96 additions and 37 deletions

View File

@@ -59,32 +59,45 @@ class log {
return logger_impl.init();
}
static void error(std::string_view message) {
log_impl(LogLevel::ERROR, message);
template <typename... Args>
static void error(Args&&... args) {
log_impl_begin(LogLevel::ERROR);
log_impl(std::forward<Args&&>(args)...);
}
static void debug(std::string_view message) {
log_impl(LogLevel::DEBUG, message);
template <typename... Args>
static void debug(Args&&... args) {
log_impl_begin(LogLevel::DEBUG);
log_impl(std::forward<Args&&>(args)...);
}
static void info(std::string_view message) {
log_impl(LogLevel::INFO, message);
template <typename... Args>
static void info(Args&&... args) {
log_impl_begin(LogLevel::INFO);
log_impl(std::forward<Args&&>(args)...);
}
static void set_loglevel(LogLevel level) { log_level = level; }
private:
static void log_impl(LogLevel level, std::string_view message) {
static bool log_impl_begin(LogLevel level) {
if (log_level < level) {
return;
return false;
}
// std::stringstream msg;
// msg << get_loglevel_string(level) << ": " << message;
logger->log(get_loglevel_string(level));
logger->log(": ");
logger->log(message);
return true;
}
template <typename... Args>
static void log_impl(std::string_view message, Args&&... args) {
logger->log(message);
log_impl(std::forward<Args&&>(args)...);
}
static void log_impl(std::string_view message) {
logger->log(message);
constexpr std::string_view carriage_return{"\r\n"};
logger->log(carriage_return);
}