MultiTech / MTS-Utils

Dependents:   mtsas mtsas thermostat_fan_demo--fan mtsas ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MTSLog.cpp Source File

MTSLog.cpp

00001 #include "mbed.h"
00002 #include <stdarg.h>
00003 #include "MTSLog.h"
00004 
00005 using namespace mts;
00006 
00007 int MTSLog::currentLevel = MTSLog::WARNING_LEVEL;
00008 
00009 const char* MTSLog::NONE_LABEL = "NONE";
00010 const char* MTSLog::FATAL_LABEL = "FATAL";
00011 const char* MTSLog::ERROR_LABEL = "ERROR";
00012 const char* MTSLog::WARNING_LABEL = "WARNING";
00013 const char* MTSLog::INFO_LABEL = "INFO";
00014 const char* MTSLog::DEBUG_LABEL = "DEBUG";
00015 const char* MTSLog::TRACE_LABEL = "TRACE";
00016 
00017 void MTSLog::printMessage(int level, const char* format, ...) {
00018     if (printable(level)) {
00019         va_list argptr;
00020         va_start(argptr, format);
00021         vprintf(format, argptr);
00022         va_end(argptr);
00023     }
00024 }
00025 
00026 bool MTSLog::printable(int level) {
00027     return level <= currentLevel;
00028 }
00029 
00030 void MTSLog::setLogLevel(int level) {
00031     if (level < NONE_LEVEL)
00032         currentLevel = NONE_LEVEL;
00033     else if (level > TRACE_LEVEL)
00034         currentLevel = TRACE_LEVEL;
00035     else
00036     currentLevel = level;
00037 }
00038 
00039 int MTSLog::getLogLevel() {
00040     return currentLevel;
00041 }
00042 
00043 const char* MTSLog::getLogLevelString() {
00044     switch (currentLevel) {
00045         case NONE_LEVEL:
00046             return NONE_LABEL;
00047         case FATAL_LEVEL:
00048             return FATAL_LABEL;
00049         case ERROR_LEVEL:
00050             return ERROR_LABEL;
00051         case WARNING_LEVEL:
00052             return WARNING_LABEL;
00053         case INFO_LEVEL:
00054             return INFO_LABEL;
00055         case DEBUG_LEVEL:
00056             return DEBUG_LABEL;
00057         case TRACE_LEVEL:
00058             return TRACE_LABEL;
00059         default:
00060             return "unknown";
00061     }
00062 }