Logger

Defines

LOG_STREAM(level)
LOG_INFO
LOG_WARN
LOG_ERROR
LOG_ERROR_ERRNO
LOG_EVENT(level, event)
namespace HTTPServer

Typedefs

using LogStreamImpl = LogStream<Logger>
class Logger

Public Functions

void log(const std::string &message, LogLevel level = LogLevel::INFO)
void logErrno(const std::string &message, LogLevel level = LogLevel::INFO)
void setLevel(LogLevel level)
bool shouldLogThisLevel(LogLevel level) const

Public Static Functions

static Logger &instance()

Private Functions

Logger() = default
~Logger() = default
Logger(const Logger&) = delete
Logger &operator=(const Logger&) = delete
std::string levelToString(LogLevel level)
std::string buildLogLine(const std::string &message, LogLevel level)
std::string currentTime()
std::string currentThreadName()
std::string generateLogFileName()
void initializeLogFileIfNeeded()

Private Members

LogLevel d_currentLogLevel = {LogLevel::INFO}
std::mutex d_mtx
std::ofstream d_logFile
std::string d_logFilePath
bool d_logFileInitialized = {false}