Using Color4 for logger color codes now. It's 2024 if your terminal doesn't support 16 million colors your terminal sucks
This commit is contained in:
@@ -21,7 +21,7 @@ namespace jlog {
|
||||
std::vector<token> log_format(
|
||||
const std::string &severity_name,
|
||||
const std::string &message,
|
||||
const AnsiColor &severity_cc = AnsiColor::FG_WHITE);
|
||||
const Color4 &severity_cc = Colors::White);
|
||||
|
||||
/// Returns a more detailed formatted sequence of tokens.
|
||||
/// @param severity_name The severity tag to prefix to the message. Could theoretically also be a context.
|
||||
@@ -36,7 +36,7 @@ namespace jlog {
|
||||
const std::string &func,
|
||||
const std::string &file,
|
||||
int line,
|
||||
const AnsiColor &severity_cc = AnsiColor::FG_WHITE);
|
||||
const Color4 &severity_cc = Colors::White);
|
||||
|
||||
/// Returns a token sequence pre-formatted for the info LogTrace level.
|
||||
/// @param message The message to send out.
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <mcolor.h>
|
||||
#include "Colors.hpp"
|
||||
#include <source_location>
|
||||
#include <map>
|
||||
#include <jlog/token.hpp>
|
||||
@@ -13,7 +14,7 @@ namespace jlog
|
||||
///
|
||||
class Logger {
|
||||
public:
|
||||
explicit Logger(const std::string& context, const AnsiColor& color = AnsiColor::FG_DEFAULT);
|
||||
explicit Logger(const std::string& context, const Color4& color = Colors::LightGray);
|
||||
public:
|
||||
Event<std::vector<token>> OnLogEvent;
|
||||
public:
|
||||
@@ -31,8 +32,10 @@ namespace jlog
|
||||
void LogFile(const std::string& f);
|
||||
std::string LogFile();
|
||||
// no cc no bullshit
|
||||
void SetColorCode(AnsiColor cc = AnsiColor::FG_DEFAULT);
|
||||
AnsiColor GetColorCode();
|
||||
//void SetColorCode(AnsiColor cc = AnsiColor::FG_DEFAULT);
|
||||
//AnsiColor GetColorCode();
|
||||
void SetColorCode(Color4 cc = Colors::LightGray);
|
||||
Color4 GetColorCode();
|
||||
public:
|
||||
std::string Context();
|
||||
void SetTraceback(bool enabled);
|
||||
@@ -40,7 +43,8 @@ namespace jlog
|
||||
protected:
|
||||
bool enabled = true;
|
||||
std::string logfile = "latest.log";
|
||||
AnsiColor colorcode = AnsiColor::FG_DEFAULT;
|
||||
//AnsiColor colorcode = AnsiColor::FG_DEFAULT;
|
||||
Color4 colorcode = Colors::LightGray;
|
||||
std::string context;
|
||||
bool trace = true;
|
||||
};
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
#include <functional>
|
||||
#include <mcolor.h>
|
||||
#include "Colors.hpp"
|
||||
|
||||
namespace jlog {
|
||||
|
||||
@@ -10,7 +11,7 @@ namespace jlog {
|
||||
/// A single piece of a logging message, with color code, content, and delimiter
|
||||
/// These are strung together to build full logger messages in a flexible manner.
|
||||
struct token {
|
||||
AnsiColor colorCode = AnsiColor::FG_DEFAULT;
|
||||
Color4 colorCode = Colors::White;
|
||||
std::string content = "";
|
||||
std::string delimiter = "[]";
|
||||
};
|
||||
|
@@ -36,7 +36,7 @@ namespace jlog {
|
||||
std::vector<token> log_format(
|
||||
const std::string& severity_name,
|
||||
const std::string& message,
|
||||
const AnsiColor& severity_cc)
|
||||
const Color4& severity_cc)
|
||||
{
|
||||
auto severity = token{.colorCode = severity_cc, .content = severity_name};
|
||||
auto content = token{.content = message, .delimiter = ""};
|
||||
@@ -49,7 +49,7 @@ namespace jlog {
|
||||
const std::string& func,
|
||||
const std::string& file,
|
||||
int line,
|
||||
const AnsiColor& severity_cc)
|
||||
const Color4& severity_cc)
|
||||
{
|
||||
std::vector<token> tokens;
|
||||
auto timestamp = token{.content = jlog::get_timestamp()};
|
||||
|
@@ -12,12 +12,12 @@
|
||||
|
||||
namespace jlog
|
||||
{
|
||||
Logger info {"info", AnsiColor::FG_GREEN};
|
||||
Logger warning {"warning", AnsiColor::FG_YELLOW};
|
||||
Logger error {"error", AnsiColor::FG_RED};
|
||||
Logger fatal {"fatal", AnsiColor::FG_BRIGHT_RED};
|
||||
Logger verbose {"verbose", AnsiColor::FG_CYAN};
|
||||
Logger debug {"debug", AnsiColor::FG_MAGENTA};
|
||||
Logger info {"info", Colors::Primary::Green};
|
||||
Logger warning {"warning", Colors::Primary::Yellow};
|
||||
Logger error {"error", Colors::Primary::Red};
|
||||
Logger fatal {"fatal", Colors::Reds::Crimson};
|
||||
Logger verbose {"verbose", Colors::Primary::Blue};
|
||||
Logger debug {"debug", Colors::Purples::Purple};
|
||||
|
||||
void SetTracebackOnGlobalLoggers(bool enabled) {
|
||||
info.SetTraceback(enabled);
|
||||
|
@@ -6,7 +6,7 @@
|
||||
|
||||
namespace jlog
|
||||
{
|
||||
Logger::Logger(const std::string& context, const AnsiColor& color) {
|
||||
Logger::Logger(const std::string& context, const Color4& color) {
|
||||
this->context = context;
|
||||
this->colorcode = color;
|
||||
}
|
||||
@@ -38,8 +38,10 @@ namespace jlog
|
||||
}
|
||||
std::string Logger::LogFile() { return this->logfile; }
|
||||
|
||||
void Logger::SetColorCode(AnsiColor cc) { this->colorcode = cc; }
|
||||
AnsiColor Logger::GetColorCode() { return this->colorcode; }
|
||||
//void Logger::SetColorCode(AnsiColor cc) { this->colorcode = cc; }
|
||||
//AnsiColor Logger::GetColorCode() { return this->colorcode; }
|
||||
void Logger::SetColorCode(Color4 cc) { this->colorcode = cc; }
|
||||
Color4 Logger::GetColorCode() { return this->colorcode; }
|
||||
|
||||
std::string Logger::Context() { return this->context; }
|
||||
|
||||
|
Reference in New Issue
Block a user