* seperated most parts into headers & source files * seperated anthracite into libanthracite and anthracite-bin for modules * built demo webAPI module * rewrote some code to do things in the * changed cmakelists to not build in src directory
24 lines
745 B
C++
24 lines
745 B
C++
#pragma once
|
|
|
|
#include "./log.hpp"
|
|
|
|
namespace anthracite::log {
|
|
enum LOG_LEVEL Logger::_level = LOG_LEVEL_NONE;
|
|
|
|
// TODO: implement logger as a singleton to prevent duplicates
|
|
Logger::Logger() = default;
|
|
void Logger::initialize(enum LOG_LEVEL level) {
|
|
_level = level;
|
|
}
|
|
|
|
LogBuf::LogBuf(std::ostream& output_stream, const std::string& tag, enum LOG_LEVEL level) : _output_stream(output_stream), _tag(tag), _level(level) {}
|
|
|
|
int LogBuf::sync() {
|
|
if (this->_level <= logger._level) {
|
|
std::cout << "[" << this ->_tag << "] " << this->str();
|
|
std::cout.flush();
|
|
}
|
|
this->str("");
|
|
return 0;
|
|
}
|
|
};
|