add serial color output
This commit is contained in:
@ -7,6 +7,15 @@ bool Logger::serial_enabled = true;
|
|||||||
|
|
||||||
Logger::LogLevel Logger::level = Logger::ERROR;
|
Logger::LogLevel Logger::level = Logger::ERROR;
|
||||||
|
|
||||||
|
constexpr char* ansi_red = "\033[1;31m";
|
||||||
|
constexpr char* ansi_green = "\033[1;32m";
|
||||||
|
constexpr char* ansi_yellow = "\033[1;33m";
|
||||||
|
constexpr char* ansi_blue = "\033[1;34m";
|
||||||
|
constexpr char* ansi_magenta = "\033[1;35m";
|
||||||
|
constexpr char* ansi_cyan = "\033[1;36m";
|
||||||
|
constexpr char* ansi_white = "\033[1;37m";
|
||||||
|
constexpr char* ansi_default = "\033[0;39m ";
|
||||||
|
|
||||||
void Logger::log(char* message, CGA::color col) const {
|
void Logger::log(char* message, CGA::color col) const {
|
||||||
if (Logger::kout_enabled) {
|
if (Logger::kout_enabled) {
|
||||||
CGA::color old_col = kout.color_fg;
|
CGA::color old_col = kout.color_fg;
|
||||||
@ -17,6 +26,22 @@ void Logger::log(char* message, CGA::color col) const {
|
|||||||
kout.flush(); // Don't add newline, Logger already does that
|
kout.flush(); // Don't add newline, Logger already does that
|
||||||
}
|
}
|
||||||
if (Logger::serial_enabled) {
|
if (Logger::serial_enabled) {
|
||||||
|
switch (col) {
|
||||||
|
case CGA::WHITE:
|
||||||
|
serial.write(ansi_white);
|
||||||
|
break;
|
||||||
|
case CGA::LIGHT_MAGENTA:
|
||||||
|
serial.write(ansi_magenta);
|
||||||
|
break;
|
||||||
|
case CGA::LIGHT_RED:
|
||||||
|
serial.write(ansi_red);
|
||||||
|
break;
|
||||||
|
case CGA::LIGHT_BLUE:
|
||||||
|
serial.write(ansi_blue);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
serial.write(ansi_default);
|
||||||
|
}
|
||||||
serial.write(Logger::level_to_string(this->current_message_level));
|
serial.write(Logger::level_to_string(this->current_message_level));
|
||||||
serial.write("::");
|
serial.write("::");
|
||||||
serial.write(this->name);
|
serial.write(this->name);
|
||||||
@ -51,25 +76,25 @@ void Logger::flush() {
|
|||||||
|
|
||||||
void Logger::trace(char* message) const {
|
void Logger::trace(char* message) const {
|
||||||
if (Logger::level <= Logger::TRACE) {
|
if (Logger::level <= Logger::TRACE) {
|
||||||
this->log(message, CGA::GREEN);
|
this->log(message, CGA::WHITE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Logger::debug(char* message) const {
|
void Logger::debug(char* message) const {
|
||||||
if (Logger::level <= Logger::DEBUG) {
|
if (Logger::level <= Logger::DEBUG) {
|
||||||
this->log(message, CGA::LIGHT_BLUE);
|
this->log(message, CGA::LIGHT_MAGENTA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Logger::error(char* message) const {
|
void Logger::error(char* message) const {
|
||||||
if (Logger::level <= Logger::ERROR) {
|
if (Logger::level <= Logger::ERROR) {
|
||||||
this->log(message, CGA::RED);
|
this->log(message, CGA::LIGHT_RED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Logger::info(char* message) const {
|
void Logger::info(char* message) const {
|
||||||
if (Logger::level <= Logger::INFO) {
|
if (Logger::level <= Logger::INFO) {
|
||||||
this->log(message, CGA::CYAN);
|
this->log(message, CGA::LIGHT_BLUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,6 +20,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
Logger(char* name) : name(name) {}
|
Logger(char* name) : name(name) {}
|
||||||
|
virtual ~Logger() = default;
|
||||||
|
|
||||||
enum LogLevel {
|
enum LogLevel {
|
||||||
TRACE,
|
TRACE,
|
||||||
|
|||||||
Reference in New Issue
Block a user