Fork to see if I can get working
Dependencies: BufferedSerial OneWire WinbondSPIFlash libxDot-dev-mbed5-deprecated
Fork of xDotBridge_update_test20180823 by
xDotBridge/src/MyLog.cpp@100:0882cf295f8e, 2017-11-29 (annotated)
- Committer:
- mbriggs_vortex
- Date:
- Wed Nov 29 13:54:36 2017 -0700
- Revision:
- 100:0882cf295f8e
- Parent:
- 63:e1efbe3402d9
Adding relaese bin to repo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Matt Briggs | 63:e1efbe3402d9 | 1 | /* |
Matt Briggs | 63:e1efbe3402d9 | 2 | * MyLog.cpp |
Matt Briggs | 63:e1efbe3402d9 | 3 | * |
Matt Briggs | 63:e1efbe3402d9 | 4 | * Heavily borrowed from MTSLog |
Matt Briggs | 63:e1efbe3402d9 | 5 | * |
Matt Briggs | 63:e1efbe3402d9 | 6 | * Created on: Mar 14, 2017 |
Matt Briggs | 63:e1efbe3402d9 | 7 | * Author: mbriggs |
Matt Briggs | 63:e1efbe3402d9 | 8 | */ |
Matt Briggs | 63:e1efbe3402d9 | 9 | |
Matt Briggs | 63:e1efbe3402d9 | 10 | #include "MyLog.h" |
Matt Briggs | 63:e1efbe3402d9 | 11 | |
Matt Briggs | 63:e1efbe3402d9 | 12 | #include "mbed.h" |
Matt Briggs | 63:e1efbe3402d9 | 13 | #include <stdarg.h> |
Matt Briggs | 63:e1efbe3402d9 | 14 | |
Matt Briggs | 63:e1efbe3402d9 | 15 | using namespace mts; |
Matt Briggs | 63:e1efbe3402d9 | 16 | |
Matt Briggs | 63:e1efbe3402d9 | 17 | int MyLog::currentLevel = MyLog::WARNING_LEVEL; |
Matt Briggs | 63:e1efbe3402d9 | 18 | |
Matt Briggs | 63:e1efbe3402d9 | 19 | const char* MyLog::NONE_LABEL = "NONE"; |
Matt Briggs | 63:e1efbe3402d9 | 20 | const char* MyLog::FATAL_LABEL = "FATAL"; |
Matt Briggs | 63:e1efbe3402d9 | 21 | const char* MyLog::ERROR_LABEL = "ERROR"; |
Matt Briggs | 63:e1efbe3402d9 | 22 | const char* MyLog::WARNING_LABEL = "WARNING"; |
Matt Briggs | 63:e1efbe3402d9 | 23 | const char* MyLog::INFO_LABEL = "INFO"; |
Matt Briggs | 63:e1efbe3402d9 | 24 | const char* MyLog::DEBUG_LABEL = "DEBUG"; |
Matt Briggs | 63:e1efbe3402d9 | 25 | const char* MyLog::TRACE_LABEL = "TRACE"; |
Matt Briggs | 63:e1efbe3402d9 | 26 | |
Matt Briggs | 63:e1efbe3402d9 | 27 | void MyLog::printMessage(int level, const char* format, ...) { |
Matt Briggs | 63:e1efbe3402d9 | 28 | if (printable(level)) { |
Matt Briggs | 63:e1efbe3402d9 | 29 | va_list argptr; |
Matt Briggs | 63:e1efbe3402d9 | 30 | va_start(argptr, format); |
Matt Briggs | 63:e1efbe3402d9 | 31 | vprintf(format, argptr); |
Matt Briggs | 63:e1efbe3402d9 | 32 | va_end(argptr); |
Matt Briggs | 63:e1efbe3402d9 | 33 | } |
Matt Briggs | 63:e1efbe3402d9 | 34 | } |
Matt Briggs | 63:e1efbe3402d9 | 35 | |
Matt Briggs | 63:e1efbe3402d9 | 36 | bool MyLog::printable(int level) { |
Matt Briggs | 63:e1efbe3402d9 | 37 | return level <= currentLevel; |
Matt Briggs | 63:e1efbe3402d9 | 38 | } |
Matt Briggs | 63:e1efbe3402d9 | 39 | |
Matt Briggs | 63:e1efbe3402d9 | 40 | void MyLog::setLogLevel(int level) { |
Matt Briggs | 63:e1efbe3402d9 | 41 | if (level < NONE_LEVEL) |
Matt Briggs | 63:e1efbe3402d9 | 42 | currentLevel = NONE_LEVEL; |
Matt Briggs | 63:e1efbe3402d9 | 43 | else if (level > TRACE_LEVEL) |
Matt Briggs | 63:e1efbe3402d9 | 44 | currentLevel = TRACE_LEVEL; |
Matt Briggs | 63:e1efbe3402d9 | 45 | else |
Matt Briggs | 63:e1efbe3402d9 | 46 | currentLevel = level; |
Matt Briggs | 63:e1efbe3402d9 | 47 | } |
Matt Briggs | 63:e1efbe3402d9 | 48 | |
Matt Briggs | 63:e1efbe3402d9 | 49 | int MyLog::getLogLevel() { |
Matt Briggs | 63:e1efbe3402d9 | 50 | return currentLevel; |
Matt Briggs | 63:e1efbe3402d9 | 51 | } |
Matt Briggs | 63:e1efbe3402d9 | 52 | |
Matt Briggs | 63:e1efbe3402d9 | 53 | const char* MyLog::getLogLevelString() { |
Matt Briggs | 63:e1efbe3402d9 | 54 | switch (currentLevel) { |
Matt Briggs | 63:e1efbe3402d9 | 55 | case NONE_LEVEL: |
Matt Briggs | 63:e1efbe3402d9 | 56 | return NONE_LABEL; |
Matt Briggs | 63:e1efbe3402d9 | 57 | case FATAL_LEVEL: |
Matt Briggs | 63:e1efbe3402d9 | 58 | return FATAL_LABEL; |
Matt Briggs | 63:e1efbe3402d9 | 59 | case ERROR_LEVEL: |
Matt Briggs | 63:e1efbe3402d9 | 60 | return ERROR_LABEL; |
Matt Briggs | 63:e1efbe3402d9 | 61 | case WARNING_LEVEL: |
Matt Briggs | 63:e1efbe3402d9 | 62 | return WARNING_LABEL; |
Matt Briggs | 63:e1efbe3402d9 | 63 | case INFO_LEVEL: |
Matt Briggs | 63:e1efbe3402d9 | 64 | return INFO_LABEL; |
Matt Briggs | 63:e1efbe3402d9 | 65 | case DEBUG_LEVEL: |
Matt Briggs | 63:e1efbe3402d9 | 66 | return DEBUG_LABEL; |
Matt Briggs | 63:e1efbe3402d9 | 67 | case TRACE_LEVEL: |
Matt Briggs | 63:e1efbe3402d9 | 68 | return TRACE_LABEL; |
Matt Briggs | 63:e1efbe3402d9 | 69 | default: |
Matt Briggs | 63:e1efbe3402d9 | 70 | return "unknown"; |
Matt Briggs | 63:e1efbe3402d9 | 71 | } |
Matt Briggs | 63:e1efbe3402d9 | 72 | } |