Partial work

This commit is contained in:
2024-06-13 00:49:04 -04:00
parent ab6b92f19d
commit 85203b29e4
8 changed files with 189 additions and 157 deletions

View File

@@ -1,50 +0,0 @@
#pragma once
#include <format>
#include <string>
#include <iostream>
#include <chrono>
#include <Event.h>
#include <fstream>
namespace jlog
{
enum class severity
{
none,
verbose,
debug,
warning,
error,
fatal
};
struct LogEntry
{
severity level;
std::string content;
std::string timestamp;
};
static Event<LogEntry> on_log;
static std::vector<LogEntry> log_history;
static void log(const std::string& message);
static void log(const std::string& contextColorCode, const std::string& context, const std::string& message);
static void direct(const std::string& message);;
static void info(const std::string& message);
static void verbose(const std::string& message);
static void debug (const std::string& message);
static void warning(const std::string& message);
static void error (const std::string& message);
static void fatal (const std::string& message);
}

View File

@@ -43,31 +43,34 @@ namespace jlog::ansi_escape_codes
static const std::string FG_DEFAULT = "\033[39m";
static const std::string FG_BRIGHT_BLACK = "90";
static const std::string FG_BRIGHT_RED = "91";
static const std::string FG_BRIGHT_GREEN = "92";
static const std::string FG_BRIGHT_YELLOW = "93";
static const std::string FG_BRIGHT_BLUE = "94";
static const std::string FG_BRIGHT_MAGENTA = "95";
static const std::string FG_BRIGHT_CYAN = "96";
static const std::string FG_BRIGHT_WHITE = "97";
static const std::string FG_BRIGHT_BLACK = "\033[90m";
static const std::string FG_BRIGHT_RED = "\033[91m";
static const std::string FG_BRIGHT_GREEN = "\033[92m";
static const std::string FG_BRIGHT_YELLOW = "\033[93m";
static const std::string FG_BRIGHT_BLUE = "\033[94m";
static const std::string FG_BRIGHT_MAGENTA = "\033[95m";
static const std::string FG_BRIGHT_CYAN = "\033[96m";
static const std::string FG_BRIGHT_WHITE = "\033[97m";
static const std::string BG_BLACK = "40";
static const std::string BG_RED = "41";
static const std::string BG_GREEN = "42";
static const std::string BG_YELLOW = "43";
static const std::string BG_BLUE = "44";
static const std::string BG_MAGENTA = "45";
static const std::string BG_CYAN = "46";
static const std::string BG_WHITE = "47";
static const std::string BG_DEFAULT = "49";
static const std::string BG_BLACK = "\033[40m";
static const std::string BG_RED = "\033[41m";
static const std::string BG_GREEN = "\033[42m";
static const std::string BG_YELLOW = "\033[43m";
static const std::string BG_BLUE = "\033[44m";
static const std::string BG_MAGENTA = "\033[45m";
static const std::string BG_CYAN = "\033[46m";
static const std::string BG_WHITE = "\033[47m";
static const std::string BG_DEFAULT = "\033[49m";
static const std::string BG_BRIGHT_BLACK = "100";
static const std::string BG_BRIGHT_RED = "101";
static const std::string BG_BRIGHT_GREEN = "102";
static const std::string BG_BRIGHT_YELLOW = "103";
static const std::string BG_BRIGHT_BLUE = "104";
static const std::string BG_BRIGHT_BLACK = "\033[100m";
static const std::string BG_BRIGHT_RED = "\033[101m";
static const std::string BG_BRIGHT_GREEN = "\033[102m";
static const std::string BG_BRIGHT_YELLOW = "\033[103m";
static const std::string BG_BRIGHT_BLUE = "\033[104m";
static const std::string BG_BRIGHT_MAGENTA = "\033[105m";
static const std::string BG_BRIGHT_CYAN = "\033[106m";
static const std::string BG_BRIGHT_WHITE = "\033[107m";
std::string true_color(uint8_t r, uint8_t g, uint8_t b)
{

64
include/jlog/jlog.hpp Normal file
View File

@@ -0,0 +1,64 @@
/// Josh's Logger
/// A Redacted Software Product
/// Developed & Maintained by Josh O'Leary
/// This work is dedicated to the public domain.
#pragma once
#include <format>
#include <string>
#include <iostream>
#include <chrono>
#include <Event.h>
#include <fstream>
namespace jlog
{
enum class severity
{
none,
verbose,
debug,
warning,
error,
fatal
};
struct LogEntry
{
severity level;
std::string content;
std::string timestamp;
};
static Event<LogEntry> on_log = Event<LogEntry>();
std::vector<LogEntry> log_history;
struct token
{
std::string colorCode = "";
std::string content = "";
std::string delimiter = "[]";
};
void log(std::vector<token> tokens);
void log (const std::string& message);
void log (const std::string& contextColorCode, const std::string& context, const std::string& message);
void direct (const std::string& message);
void info (const std::string& message);
void verbose(const std::string& message);
void debug (const std::string& message);
void warning(const std::string& message);
void error (const std::string& message);
void fatal (const std::string& message);
}