dEngine
Simple 2D C++ game engine
Public Member Functions | Private Types | Private Attributes | List of all members
nanolog::NanoLogger Class Reference

Public Member Functions

 NanoLogger (NonGuaranteedLogger ngl, std::string const &log_directory, std::string const &log_file_name, uint32_t log_file_roll_size_mb)
 
 NanoLogger (GuaranteedLogger gl, std::string const &log_directory, std::string const &log_file_name, uint32_t log_file_roll_size_mb)
 
 ~NanoLogger ()
 
void add (NanoLogLine &&logline)
 
void pop ()
 

Private Types

enum  State { State::INIT, State::READY, State::SHUTDOWN }
 

Private Attributes

std::atomic< Statem_state
 
std::unique_ptr< BufferBasem_buffer_base
 
FileWriter m_file_writer
 
std::thread m_thread
 

Member Enumeration Documentation

◆ State

enum nanolog::NanoLogger::State
strongprivate
Enumerator
INIT 
READY 
SHUTDOWN 

Constructor & Destructor Documentation

◆ NanoLogger() [1/2]

nanolog::NanoLogger::NanoLogger ( NonGuaranteedLogger  ngl,
std::string const &  log_directory,
std::string const &  log_file_name,
uint32_t  log_file_roll_size_mb 
)
inline

◆ NanoLogger() [2/2]

nanolog::NanoLogger::NanoLogger ( GuaranteedLogger  gl,
std::string const &  log_directory,
std::string const &  log_file_name,
uint32_t  log_file_roll_size_mb 
)
inline

◆ ~NanoLogger()

nanolog::NanoLogger::~NanoLogger ( )
inline

Member Function Documentation

◆ add()

void nanolog::NanoLogger::add ( NanoLogLine &&  logline)
inline

◆ pop()

void nanolog::NanoLogger::pop ( )
inline

Member Data Documentation

◆ m_buffer_base

std::unique_ptr< BufferBase > nanolog::NanoLogger::m_buffer_base
private

◆ m_file_writer

FileWriter nanolog::NanoLogger::m_file_writer
private

◆ m_state

std::atomic< State > nanolog::NanoLogger::m_state
private

◆ m_thread

std::thread nanolog::NanoLogger::m_thread
private