split into src and lib and socket changes

* libanthracite files are now all in lib/
* anthracite-bin + anthracite-api-bin files are now all in src/
* socket split into header and source properly
This commit is contained in:
Nicholas Orlowsky 2025-02-04 11:37:46 -05:00
parent fba87f3fbb
commit 71be773d49
Signed by: nickorlow
GPG key ID: 838827D8C4611687
24 changed files with 49 additions and 121 deletions

53
lib/log/log.hpp Normal file
View file

@ -0,0 +1,53 @@
#pragma once
#include <iostream>
#include <ostream>
#include <sstream>
namespace anthracite::log {
enum LOG_LEVEL {
LOG_LEVEL_NONE = 0,
LOG_LEVEL_ERROR = 1,
LOG_LEVEL_WARN = 2,
LOG_LEVEL_INFO = 3,
LOG_LEVEL_VERBOSE = 4,
LOG_LEVEL_DEBUG = 5
};
class Logger {
friend class LogBuf;
static enum LOG_LEVEL _level;
public:
Logger();
void initialize(enum LOG_LEVEL level);
};
class LogBuf : public std::stringbuf
{
std::string _tag;
std::ostream& _output_stream;
enum LOG_LEVEL _level;
public:
LogBuf(std::ostream& output_stream, const std::string& tag, enum LOG_LEVEL level);
int sync() override;
};
static class Logger logger{};
static class LogBuf errBuf{std::cerr, "EROR", LOG_LEVEL_ERROR};
static std::ostream err(&errBuf);
static class LogBuf warnBuf{std::cerr, "WARN", LOG_LEVEL_WARN};
static std::ostream warn(&warnBuf);
static class LogBuf infoBuf{std::cout, "INFO", LOG_LEVEL_INFO};
static std::ostream info(&infoBuf);
static class LogBuf verboseBuf{std::cout, "VERB", LOG_LEVEL_VERBOSE};
static std::ostream verbose(&verboseBuf);
static class LogBuf debugBuf{std::cout, "DEBG", LOG_LEVEL_DEBUG};
static std::ostream debug(&debugBuf);
};