void PyLogDumpVisitor::_print( const char* fmt, ... ) { if( !is_log_enabled( logType() ) ) return; va_list ap; va_start( ap, fmt ); log_messageVA( logType(), fmt, ap ); va_end( ap ); }
void profileOneArgument(const TypedValue value, const int param, const Func* function) { const char* typeString = giveTypeString(&value); if (function->fullName()->size() != 0) { logType(function, typeString, param+1); } }
void logging(std::string message, LogType type, LogStatus status) { static std::ofstream _logFile; static std::string _logFileName; static int _logIndex = 1; openLog(_logFile, _logFileName); assert(logType(type)!=LOG_ASSERT_FAILURE); //raise if type is wrongly inputted _logFile << _logIndex << LOGGING_INDEX_BRACKET << getTimeStamp(Current) << logMessages(LOGGING_FORMAT, message) << logType(type) << logStatus(status); _logIndex++; }
void Logger::log(const std::string& pText, const Type pType, const Output pOutput) { bool outputText(true); Type logType(type_); Output logOutput(output_); // Check for non-defaults. if (pType != LOG_TYPE_DEFAULT) logType = pType; if (pOutput != LOG_OUTPUT_DEFAULT) logOutput = pOutput; if (LOG_OUTPUT_SILENT == logOutput) // if we're not going to output this, might as well leave now. return; // Check if we are actually going to output this. switch (logType) { case LOG_TYPE_DEBUG: #if !defined(DEBUG) outputText = false; #endif break; case LOG_TYPE_INFO: case LOG_TYPE_ERROR: outputText = true; break; default: log("Logger: Unknown log type! Tried to Log - " + pText, LOG_TYPE_ERROR); } if (false == outputText)// if we're not going to output this, might as well leave now. return; // See where we're going to output this. switch (logOutput) { case LOG_OUTPUT_FILE: logToFile(pText, logType); break; case LOG_OUTPUT_FILE_AND_TERMINAL: logToFile(pText, logType); logToTerm(pText, logType); break; case LOG_OUTPUT_TERMINAL: logToTerm(pText, logType); break; default: log("Logger: Unknown log output! Tried to Log - " + pText, LOG_TYPE_ERROR, LOG_OUTPUT_FILE_AND_TERMINAL); } }