mirror of
https://github.com/FairRootGroup/FairLogger.git
synced 2025-10-13 08:41:12 +00:00
Expose color tools
This commit is contained in:
parent
810c01d728
commit
926972418a
|
@ -19,53 +19,6 @@ using namespace std;
|
||||||
namespace fair
|
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
|
class ColoredSeverityWriter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -77,40 +30,40 @@ class ColoredSeverityWriter
|
||||||
{
|
{
|
||||||
switch (w.fSeverity) {
|
switch (w.fSeverity) {
|
||||||
case Severity::nolog:
|
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;
|
break;
|
||||||
case Severity::fatal:
|
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;
|
break;
|
||||||
case Severity::error:
|
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;
|
break;
|
||||||
case Severity::warn:
|
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;
|
break;
|
||||||
case Severity::state:
|
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;
|
break;
|
||||||
case Severity::info:
|
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;
|
break;
|
||||||
case Severity::debug:
|
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;
|
break;
|
||||||
case Severity::debug1:
|
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;
|
break;
|
||||||
case Severity::debug2:
|
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;
|
break;
|
||||||
case Severity::debug3:
|
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;
|
break;
|
||||||
case Severity::debug4:
|
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;
|
break;
|
||||||
case Severity::trace:
|
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;
|
break;
|
||||||
default:
|
default:
|
||||||
return os << "UNKNOWN";
|
return os << "UNKNOWN";
|
||||||
|
|
|
@ -182,6 +182,82 @@ class Logger
|
||||||
public:
|
public:
|
||||||
Logger(Severity severity, const std::string& file, const std::string& line, const std::string& func);
|
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 Severity severity);
|
||||||
static void SetConsoleSeverity(const std::string& severityStr);
|
static void SetConsoleSeverity(const std::string& severityStr);
|
||||||
static Severity GetConsoleSeverity();
|
static Severity GetConsoleSeverity();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user