If netconsole does not support color fonts, I would like to make a feature request for next year. In particular, I would like to have support for the following ANSI escape sequences. It's nice to be able to use different colors for messages such as information, warnings and errors. Since vxWorks as well as WPILib also spew tons of output to netconsole, if we could change color of our messages, it is a lot easier to spot them. It would be great if netconsole even allows filtering the messages by color (e.g. I don't want to see messages in green color).
Code:
#define ESC_PREFIX "\x1b["
#define ESC_SUFFIX "m"
#define ESC_SEP ";"
#define SGR_RESET "0"
#define SGR_BRIGHT "1"
#define SGR_DIM "2"
#define SGR_ITALIC "3"
#define SGR_UNDERLINE "4"
#define SGR_BLINKSLOW "5"
#define SGR_BLINKFAST "6"
#define SGR_REVERSE "7"
#define SGR_HIDDEN "8"
#define SGR_CROSSEDOUT "9"
#define SGR_FG_BLACK "30"
#define SGR_FG_RED "31"
#define SGR_FG_GREEN "32"
#define SGR_FG_YELLOW "33"
#define SGR_FG_BLUE "34"
#define SGR_FG_MAGENTA "35"
#define SGR_FG_CYAN "36"
#define SGR_FG_WHITE "37"
#define SGR_BG_BLACK "40"
#define SGR_BG_RED "41"
#define SGR_BG_GREEN "42"
#define SGR_BG_YELLOW "43"
#define SGR_BG_BLUE "44"
#define SGR_BG_MAGENTA "45"
#define SGR_BG_CYAN "46"
#define SGR_BG_WHITE "47"
#define ESC_RESET ESC_PREFIX ESC_SUFFIX
#define ESC_BLINKSLOW ESC_PREFIX SGR_BLINKSLOW ESC_SUFFIX
#define ESC_BLINKFAST ESC_PREFIX SGR_BLINKFAST ESC_SUFFIX
#define ESC_FG_BLACK ESC_PREFIX SGR_FG_BLACK ESC_SUFFIX
#define ESC_FG_RED ESC_PREFIX SGR_FG_RED ESC_SUFFIX
#define ESC_FG_GREEN ESC_PREFIX SGR_FG_GREEN ESC_SUFFIX
#define ESC_FG_YELLOW ESC_PREFIX SGR_FG_YELLOW ESC_SUFFIX
#define ESC_FG_BLUE ESC_PREFIX SGR_FG_BLUE ESC_SUFFIX
#define ESC_FG_MAGENTA ESC_PREFIX SGR_FG_MAGENTA ESC_SUFFIX
#define ESC_FG_CYAN ESC_PREFIX SGR_FG_CYAN ESC_SUFFIX
#define ESC_FG_WHITE ESC_PREFIX SGR_FG_WHITE ESC_SUFFIX
#define ESC_BG_BLACK ESC_PREFIX SGR_BG_BLACK ESC_SUFFIX
#define ESC_BG_RED ESC_PREFIX SGR_BG_RED ESC_SUFFIX
#define ESC_BG_GREEN ESC_PREFIX SGR_BG_GREEN ESC_SUFFIX
#define ESC_BG_YELLOW ESC_PREFIX SGR_BG_YELLOW ESC_SUFFIX
#define ESC_BG_BLUE ESC_PREFIX SGR_BG_BLUE ESC_SUFFIX
#define ESC_BG_MAGENTA ESC_PREFIX SGR_BG_MAGENTA ESC_SUFFIX
#define ESC_BG_CYAN ESC_PREFIX SGR_BG_CYAN ESC_SUFFIX
#define ESC_BG_WHITE ESC_PREFIX SGR_BG_WHITE ESC_SUFFIX
#define ESC_FGB_BLACK ESC_PREFIX SGR_FG_BLACK \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_RED ESC_PREFIX SGR_FG_RED \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_GREEN ESC_PREFIX SGR_FG_GREEN \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_YELLOW ESC_PREFIX SGR_FG_YELLOW \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_BLUE ESC_PREFIX SGR_FG_BLUE \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_MAGENTA ESC_PREFIX SGR_FG_MAGENTA \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_CYAN ESC_PREFIX SGR_FG_CYAN \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_WHITE ESC_PREFIX SGR_FG_WHITE \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_BLACK ESC_PREFIX SGR_BG_BLACK \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_RED ESC_PREFIX SGR_BG_RED \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_GREEN ESC_PREFIX SGR_BG_GREEN \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_YELLOW ESC_PREFIX SGR_BG_YELLOW \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_BLUE ESC_PREFIX SGR_BG_BLUE \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_MAGENTA ESC_PREFIX SGR_BG_MAGENTA \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_CYAN ESC_PREFIX SGR_BG_CYAN \
ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_WHITE ESC_PREFIX SGR_BG_WHITE \
ESC_SEP SGR_BRIGHT ESC_SUFFIX