refactor console consumer

This commit is contained in:
2024-07-25 13:24:54 -05:00
parent a5c47d3f22
commit d1fe317fb9
10 changed files with 159 additions and 59 deletions

View File

@ -24,29 +24,24 @@
#include "events/event_system.hpp"
namespace spdlog {
class async_logger;
}
namespace repertory {
class console_consumer final {
E_CONSUMER();
public:
console_consumer() { E_SUBSCRIBE_ALL(process_event); }
console_consumer(event_level level);
public:
~console_consumer() { E_CONSUMER_RELEASE(); }
~console_consumer();
private:
void process_event(const event &e) {
#if defined(_WIN32)
#if defined(_DEBUG)
OutputDebugString((e.get_single_line() + "\n").c_str());
#endif
#endif
if (e.get_event_level() == event_level::error) {
std::cerr << e.get_single_line() << std::endl;
} else {
std::cout << e.get_single_line() << std::endl;
}
}
std::shared_ptr<spdlog::async_logger> logger_;
private:
void process_event(const event &e) const;
};
} // namespace repertory

View File

@ -24,6 +24,10 @@
#include "events/event_system.hpp"
namespace spdlog {
class async_logger;
}
namespace repertory {
class logging_consumer {
E_CONSUMER();
@ -39,11 +43,10 @@ private:
5ULL};
private:
event_level event_level_;
std::string log_directory_;
std::shared_ptr<spdlog::async_logger> logger_;
private:
void process_event(const event &event);
void process_event(const event &event) const;
};
} // namespace repertory