/// // Main logging function. /// void fsLog(int level, ...) { if (level >= fsCurrentLogLevel) { wrote_data = true; int stat = isatty(fileno(fsLogStream)); if (stat) { fprintf(fsLogStream, "\033[%dm", logLevelColorCode(level)); } fprintf(fsLogStream, "[%s] [%s]: ", ctimeStr(), logLevelStr(level)); if (stat) { fprintf(fsLogStream, "\033[0m"); } va_list args; va_start(args, level); const char *format = va_arg(args, const char*); vfprintf(fsLogStream, format, args); va_end(args); fprintf(fsLogStream, "\n"); }
std::string log_(const std::string &msg, LogLevel level, const std::string &fileName, int lineNum) { std::ostringstream logMsg; if (level == PRINT) // for normal printing without log formatting { logMsg << msg; return logMsg.str(); } #ifdef CONFIG_DEBUG_LOCAL if(level >= INFO and level < WARNING) logMsg << logLevelStr(level) << ":" << msg << std::endl; else logMsg << fileName << ":" << lineNum << ":" << logLevelStr(level) << ":" << msg << std::endl; #else logMsg << logLevelStr(level) << ":" << msg << std::endl; #endif return logMsg.str(); }