refactor console consumer
This commit is contained in:
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user