#pragma once #include "triple_buffer.h" #include #include #include #include #include "easylogging++/easylogging++.h" #include #include "msg_vector.h" class LogFile { public: LogFile(); ~LogFile(); LogFile(const LogFile&) = delete; LogFile& operator=(const LogFile&) = delete; bool init(const char* conf_file, const char* app_name); void shut(); bool trace_log(int log_type, const char* log_content); private: void check_output(); private: el::Configurations conf_; TTripleBuffer msg_queue_; std::thread thread_; bool running_{}; size_t shrink_size_{}; };