Utility library for MTS Socket Modem Arduino Shield devices from Multi-Tech Systems

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

NOTE: MTS-Utils has moved to GitHub. This version will not be updated. For updates, go to the GitHub version.

Revision:
1:92c0b062d84d
Child:
4:f4d3bafc71dd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MTSLog.cpp	Mon May 19 08:22:30 2014 -0500
@@ -0,0 +1,57 @@
+#include "mbed.h"
+#include <stdarg.h>
+#include "MTSLog.h"
+
+using namespace mts;
+
+int MTSLog::currentLevel = MTSLog::WARNING_LEVEL;
+
+const char* MTSLog::NONE_LABEL = "NONE";
+const char* MTSLog::FATAL_LABEL = "FATAL";
+const char* MTSLog::ERROR_LABEL = "ERROR";
+const char* MTSLog::WARNING_LABEL = "WARNING";
+const char* MTSLog::INFO_LABEL = "INFO";
+const char* MTSLog::DEBUG_LABEL = "DEBUG";
+const char* MTSLog::TRACE_LABEL = "TRACE";
+
+void MTSLog::printMessage(MTSLog::logLevel level, const char* format, ...) {
+    if (printable(level)) {
+        va_list argptr;
+        va_start(argptr, format);
+        vprintf(format, argptr);
+        va_end(argptr);
+    }
+}
+
+bool MTSLog::printable(MTSLog::logLevel level) {
+    return level <= currentLevel;
+}
+
+void MTSLog::setLogLevel(MTSLog::logLevel level) {
+    currentLevel = level;
+}
+
+int MTSLog::getLogLevel() {
+    return currentLevel;
+}
+
+const char* MTSLog::getLogLevelString() {
+    switch (currentLevel) {
+        case NONE_LEVEL:
+            return NONE_LABEL;
+        case FATAL_LEVEL:
+            return FATAL_LABEL;
+        case ERROR_LEVEL:
+            return ERROR_LABEL;
+        case WARNING_LEVEL:
+            return WARNING_LABEL;
+        case INFO_LEVEL:
+            return INFO_LABEL;
+        case DEBUG_LEVEL:
+            return DEBUG_LABEL;
+        case TRACE_LEVEL:
+            return TRACE_LABEL;
+        default:
+            return "unknown";
+    }
+}