mirror of
https://github.com/FairRootGroup/FairLogger.git
synced 2025-10-13 00:31:12 +00:00
Expose color tools
This commit is contained in:
parent
810c01d728
commit
926972418a
|
@ -19,53 +19,6 @@ using namespace std;
|
|||
namespace fair
|
||||
{
|
||||
|
||||
enum class Color : int
|
||||
{
|
||||
fgBlack = 30,
|
||||
fgRed = 31,
|
||||
fgGreen = 32,
|
||||
fgYellow = 33,
|
||||
fgBlue = 34,
|
||||
fgMagenta = 35,
|
||||
fgCyan = 36,
|
||||
fgWhite = 37,
|
||||
fgDefault = 39,
|
||||
bgRed = 41,
|
||||
bgGreen = 42,
|
||||
bgBlue = 44,
|
||||
bgDefault = 49
|
||||
};
|
||||
|
||||
string startColor(Color color)
|
||||
{
|
||||
ostringstream os;
|
||||
os << "\033[01;" << static_cast<int>(color) << "m";
|
||||
return os.str();
|
||||
}
|
||||
|
||||
string endColor()
|
||||
{
|
||||
return "\033[0m";
|
||||
}
|
||||
|
||||
class ColorOut
|
||||
{
|
||||
public:
|
||||
ColorOut(Color color, const string& str)
|
||||
: fColor(color)
|
||||
, fStr(str)
|
||||
{}
|
||||
|
||||
friend ostream& operator<<(ostream& os, const ColorOut& w)
|
||||
{
|
||||
return os << "\033[01;" << static_cast<int>(w.fColor) << "m" << w.fStr << "\033[0m";
|
||||
}
|
||||
|
||||
private:
|
||||
Color fColor;
|
||||
const string& fStr;
|
||||
};
|
||||
|
||||
class ColoredSeverityWriter
|
||||
{
|
||||
public:
|
||||
|
@ -77,40 +30,40 @@ class ColoredSeverityWriter
|
|||
{
|
||||
switch (w.fSeverity) {
|
||||
case Severity::nolog:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgDefault) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgDefault) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::fatal:
|
||||
return os << "\033[01;" << static_cast<int>(Color::bgRed) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::bgRed) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::error:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgRed) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgRed) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::warn:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgYellow) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgYellow) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::state:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgMagenta) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgMagenta) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::info:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgGreen) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgGreen) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::debug:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::debug1:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::debug2:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::debug3:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::debug4:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgBlue) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
case Severity::trace:
|
||||
return os << "\033[01;" << static_cast<int>(Color::fgCyan) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
return os << "\033[01;" << static_cast<int>(Logger::Color::fgCyan) << "m" << Logger::SeverityName(w.fSeverity) << "\033[0m";
|
||||
break;
|
||||
default:
|
||||
return os << "UNKNOWN";
|
||||
|
|
|
@ -182,6 +182,82 @@ class Logger
|
|||
public:
|
||||
Logger(Severity severity, const std::string& file, const std::string& line, const std::string& func);
|
||||
|
||||
enum class Color : int
|
||||
{
|
||||
bold = 1,
|
||||
dim = 2,
|
||||
underline = 4,
|
||||
blink = 5,
|
||||
reverse = 7,
|
||||
hidden = 8,
|
||||
|
||||
fgDefault = 39,
|
||||
fgBlack = 30,
|
||||
fgRed = 31,
|
||||
fgGreen = 32,
|
||||
fgYellow = 33,
|
||||
fgBlue = 34,
|
||||
fgMagenta = 35,
|
||||
fgCyan = 36,
|
||||
fgLightGray = 37,
|
||||
fgDarkGray = 90,
|
||||
fgLightRed = 91,
|
||||
fgLightGreen = 92,
|
||||
fgLightYellow = 93,
|
||||
fgLightBlue = 94,
|
||||
fgLightMagenta = 95,
|
||||
fgLightCyan = 96,
|
||||
fgWhite = 97,
|
||||
|
||||
bgDefault = 49,
|
||||
bgBlack = 40,
|
||||
bgRed = 41,
|
||||
bgGreen = 42,
|
||||
bgYellow = 43,
|
||||
bgBlue = 44,
|
||||
bgMagenta = 45,
|
||||
bgCyan = 46,
|
||||
bgLightGray = 47,
|
||||
bgDarkGray = 100,
|
||||
bgLightRed = 101,
|
||||
bgLightGreen = 102,
|
||||
bgLightYellow = 103,
|
||||
bgLightBlue = 104,
|
||||
bgLightMagenta = 105,
|
||||
bgLightCyan = 106,
|
||||
bgWhite = 107
|
||||
};
|
||||
|
||||
static std::string startColor(Color color)
|
||||
{
|
||||
std::ostringstream os;
|
||||
os << "\033[01;" << static_cast<int>(color) << "m";
|
||||
return os.str();
|
||||
}
|
||||
|
||||
static std::string endColor()
|
||||
{
|
||||
return "\033[0m";
|
||||
}
|
||||
|
||||
class ColorOut
|
||||
{
|
||||
public:
|
||||
ColorOut(Color color, const std::string& str)
|
||||
: fColor(color)
|
||||
, fStr(str)
|
||||
{}
|
||||
|
||||
friend std::ostream& operator<<(std::ostream& os, const ColorOut& w)
|
||||
{
|
||||
return os << "\033[01;" << static_cast<int>(w.fColor) << "m" << w.fStr << "\033[0m";
|
||||
}
|
||||
|
||||
private:
|
||||
Color fColor;
|
||||
const std::string& fStr;
|
||||
};
|
||||
|
||||
static void SetConsoleSeverity(const Severity severity);
|
||||
static void SetConsoleSeverity(const std::string& severityStr);
|
||||
static Severity GetConsoleSeverity();
|
||||
|
|
Loading…
Reference in New Issue
Block a user