void ConsoleLogger::handle(const LogMessage& message) { if (LogMessage::Info > message.level()) std::cerr << levelString(message.level()) << message.message() << std::endl; else std::cout << levelString(message.level()) << message.message() << std::endl; }
// helper for fatal exception (windows only) std::string fatalExceptionToString(const LogMessage& msg) { std::string out; // clear any previous text and formatting out.append("\n" + msg.timestamp() + "\n\n***** FATAL EXCEPTION RECEIVED ******* \n" + '"' + msg.message() + '"'); return out; }
// helper for fatal signal std::string fatalSignalToString(const LogMessage& msg) { std::string out; // clear any previous text and formatting out.append("\n" + msg.timestamp() + "\n\n***** FATAL SIGNAL RECEIVED ******* \n" + '"' + msg.message() + '"'); return out; }
// helper for fatal LOG std::string fatalLogToString(const LogMessage& msg) { auto out = LogDetailsToString(msg); static const std::string fatalExitReason = {"EXIT trigger caused by LOG(FATAL) entry: "}; out.append("\n\t*******\t " + fatalExitReason + "\n\t" + '"' + msg.message() + '"'); return out; }
// helper for normal std::string normalToString(const LogMessage& msg) { auto out = LogDetailsToString(msg); out.append('"' + msg.message() + '"'); return out; }
// helper for normal std::string LogMessage::normalToString(const LogMessage& msg) { auto out = msg._logDetailsToStringFunc(msg); out.append(msg.message() + '\n'); return out; }
void FileLogHandler::handle(const LogMessage & message) { std::ofstream logstream(m_logfile, std::ios_base::out | std::ios_base::app ); logstream << messagePrefix(message) << message.message() << std::endl; }