Official reference client implementation for Cumulocity SmartREST on u-blox C027.

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Vincent Wochnik

Committer:
xinlei
Date:
Mon Feb 16 13:15:52 2015 +0000
Revision:
72:c5709ae7b193
Child:
77:f6717e4eccc4
logging: incorporation of dedicated logging module.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xinlei 72:c5709ae7b193 1 #include <cstdio>
xinlei 72:c5709ae7b193 2 #include <cstdarg>
xinlei 72:c5709ae7b193 3 #include "logging.h"
xinlei 72:c5709ae7b193 4 using namespace std;
xinlei 72:c5709ae7b193 5
xinlei 72:c5709ae7b193 6
xinlei 72:c5709ae7b193 7 aLogLevel _level = A_INFO; // Default log level is INFO.
xinlei 72:c5709ae7b193 8
xinlei 72:c5709ae7b193 9 int _log(aLogLevel lvl, const char *fmt, va_list& vlist)
xinlei 72:c5709ae7b193 10 {
xinlei 72:c5709ae7b193 11 if (_level <= lvl) {
xinlei 72:c5709ae7b193 12 int n = 0;
xinlei 72:c5709ae7b193 13 switch (lvl)
xinlei 72:c5709ae7b193 14 {
xinlei 72:c5709ae7b193 15 case A_DEBUG: n += printf("[DEBUG] "); break;
xinlei 72:c5709ae7b193 16 case A_WARNING: n += printf("[WARN] "); break;
xinlei 72:c5709ae7b193 17 case A_INFO: n += printf("[INFO] "); break;
xinlei 72:c5709ae7b193 18 case A_ERROR: n += printf("[ERROR] "); break;
xinlei 72:c5709ae7b193 19 case A_CRITICAL: n += printf("[CRITICAL] "); break;
xinlei 72:c5709ae7b193 20 default: n += printf("[UNKNOWN] "); break;
xinlei 72:c5709ae7b193 21 }
xinlei 72:c5709ae7b193 22 return n+vprintf(fmt, vlist);
xinlei 72:c5709ae7b193 23 } else {
xinlei 72:c5709ae7b193 24 return 0;
xinlei 72:c5709ae7b193 25 }
xinlei 72:c5709ae7b193 26 }
xinlei 72:c5709ae7b193 27
xinlei 72:c5709ae7b193 28 int aDebug(const char *fmt, ...)
xinlei 72:c5709ae7b193 29 {
xinlei 72:c5709ae7b193 30 va_list vlist;
xinlei 72:c5709ae7b193 31 va_start(vlist, fmt);
xinlei 72:c5709ae7b193 32 int n = _log(A_DEBUG, fmt, vlist);
xinlei 72:c5709ae7b193 33 va_end(vlist);
xinlei 72:c5709ae7b193 34 return n;
xinlei 72:c5709ae7b193 35 }
xinlei 72:c5709ae7b193 36
xinlei 72:c5709ae7b193 37 int aCritical(const char *fmt, ...)
xinlei 72:c5709ae7b193 38 {
xinlei 72:c5709ae7b193 39 va_list vlist;
xinlei 72:c5709ae7b193 40 va_start(vlist, fmt);
xinlei 72:c5709ae7b193 41 int n = _log(A_CRITICAL, fmt, vlist);
xinlei 72:c5709ae7b193 42 va_end(vlist);
xinlei 72:c5709ae7b193 43 return n;
xinlei 72:c5709ae7b193 44 }
xinlei 72:c5709ae7b193 45
xinlei 72:c5709ae7b193 46 int aError(const char *fmt, ...)
xinlei 72:c5709ae7b193 47 {
xinlei 72:c5709ae7b193 48 va_list vlist;
xinlei 72:c5709ae7b193 49 va_start(vlist, fmt);
xinlei 72:c5709ae7b193 50 int n = _log(A_ERROR, fmt, vlist);
xinlei 72:c5709ae7b193 51 va_end(vlist);
xinlei 72:c5709ae7b193 52 return n;
xinlei 72:c5709ae7b193 53 }
xinlei 72:c5709ae7b193 54
xinlei 72:c5709ae7b193 55 int aInfo(const char *fmt, ...)
xinlei 72:c5709ae7b193 56 {
xinlei 72:c5709ae7b193 57 va_list vlist;
xinlei 72:c5709ae7b193 58 va_start(vlist, fmt);
xinlei 72:c5709ae7b193 59 int n = _log(A_INFO, fmt, vlist);
xinlei 72:c5709ae7b193 60 va_end(vlist);
xinlei 72:c5709ae7b193 61 return n;
xinlei 72:c5709ae7b193 62 }
xinlei 72:c5709ae7b193 63
xinlei 72:c5709ae7b193 64 int aWarning(const char *fmt, ...)
xinlei 72:c5709ae7b193 65 {
xinlei 72:c5709ae7b193 66 va_list vlist;
xinlei 72:c5709ae7b193 67 va_start(vlist, fmt);
xinlei 72:c5709ae7b193 68 int n = _log(A_WARNING, fmt, vlist);
xinlei 72:c5709ae7b193 69 va_end(vlist);
xinlei 72:c5709ae7b193 70 return n;
xinlei 72:c5709ae7b193 71 }
xinlei 72:c5709ae7b193 72
xinlei 72:c5709ae7b193 73 aLogLevel getLevel()
xinlei 72:c5709ae7b193 74 {
xinlei 72:c5709ae7b193 75 return _level;
xinlei 72:c5709ae7b193 76 }
xinlei 72:c5709ae7b193 77
xinlei 72:c5709ae7b193 78 void setLevel(aLogLevel lvl)
xinlei 72:c5709ae7b193 79 {
xinlei 72:c5709ae7b193 80 _level = lvl;
xinlei 72:c5709ae7b193 81 }