Serial output logger based on the LoggerInterface
LogIt.cpp@0:0c84a9b17408, 2016-11-24 (annotated)
- Committer:
- sillevl
- Date:
- Thu Nov 24 14:26:03 2016 +0000
- Revision:
- 0:0c84a9b17408
- Child:
- 1:5c3eeae51c21
Initial serial logger class
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sillevl | 0:0c84a9b17408 | 1 | #include "LogIt.h" |
sillevl | 0:0c84a9b17408 | 2 | #include <stdarg.h> |
sillevl | 0:0c84a9b17408 | 3 | #include <stdio.h> |
sillevl | 0:0c84a9b17408 | 4 | |
sillevl | 0:0c84a9b17408 | 5 | LogIt::LogIt(Serial* serial) |
sillevl | 0:0c84a9b17408 | 6 | { |
sillevl | 0:0c84a9b17408 | 7 | this->serial = serial; |
sillevl | 0:0c84a9b17408 | 8 | } |
sillevl | 0:0c84a9b17408 | 9 | |
sillevl | 0:0c84a9b17408 | 10 | void LogIt::emergency(char* message, ...) |
sillevl | 0:0c84a9b17408 | 11 | { |
sillevl | 0:0c84a9b17408 | 12 | va_list args; |
sillevl | 0:0c84a9b17408 | 13 | va_start (args, message); |
sillevl | 0:0c84a9b17408 | 14 | log(EMERGENCY, message, args); |
sillevl | 0:0c84a9b17408 | 15 | va_end (args); |
sillevl | 0:0c84a9b17408 | 16 | } |
sillevl | 0:0c84a9b17408 | 17 | |
sillevl | 0:0c84a9b17408 | 18 | void LogIt::alert(char* message, ...) |
sillevl | 0:0c84a9b17408 | 19 | { |
sillevl | 0:0c84a9b17408 | 20 | va_list args; |
sillevl | 0:0c84a9b17408 | 21 | va_start (args, message); |
sillevl | 0:0c84a9b17408 | 22 | log(ALERT, message, args); |
sillevl | 0:0c84a9b17408 | 23 | va_end (args); |
sillevl | 0:0c84a9b17408 | 24 | } |
sillevl | 0:0c84a9b17408 | 25 | |
sillevl | 0:0c84a9b17408 | 26 | void LogIt::critical(char* message, ...) |
sillevl | 0:0c84a9b17408 | 27 | { |
sillevl | 0:0c84a9b17408 | 28 | va_list args; |
sillevl | 0:0c84a9b17408 | 29 | va_start (args, message); |
sillevl | 0:0c84a9b17408 | 30 | log(CRITICAL, message, args); |
sillevl | 0:0c84a9b17408 | 31 | va_end (args); |
sillevl | 0:0c84a9b17408 | 32 | } |
sillevl | 0:0c84a9b17408 | 33 | |
sillevl | 0:0c84a9b17408 | 34 | void LogIt::error(char* message, ...) |
sillevl | 0:0c84a9b17408 | 35 | { |
sillevl | 0:0c84a9b17408 | 36 | va_list args; |
sillevl | 0:0c84a9b17408 | 37 | va_start (args, message); |
sillevl | 0:0c84a9b17408 | 38 | log(ERROR, message, args); |
sillevl | 0:0c84a9b17408 | 39 | va_end (args); |
sillevl | 0:0c84a9b17408 | 40 | } |
sillevl | 0:0c84a9b17408 | 41 | |
sillevl | 0:0c84a9b17408 | 42 | void LogIt::warning(char* message, ...) |
sillevl | 0:0c84a9b17408 | 43 | { |
sillevl | 0:0c84a9b17408 | 44 | va_list args; |
sillevl | 0:0c84a9b17408 | 45 | va_start (args, message); |
sillevl | 0:0c84a9b17408 | 46 | log(WARNING, message, args); |
sillevl | 0:0c84a9b17408 | 47 | va_end (args); |
sillevl | 0:0c84a9b17408 | 48 | } |
sillevl | 0:0c84a9b17408 | 49 | |
sillevl | 0:0c84a9b17408 | 50 | void LogIt::notice(char* message, ...) |
sillevl | 0:0c84a9b17408 | 51 | { |
sillevl | 0:0c84a9b17408 | 52 | va_list args; |
sillevl | 0:0c84a9b17408 | 53 | va_start (args, message); |
sillevl | 0:0c84a9b17408 | 54 | log(NOTICE, message, args); |
sillevl | 0:0c84a9b17408 | 55 | va_end (args); |
sillevl | 0:0c84a9b17408 | 56 | } |
sillevl | 0:0c84a9b17408 | 57 | |
sillevl | 0:0c84a9b17408 | 58 | void LogIt::info(char* message, ...) |
sillevl | 0:0c84a9b17408 | 59 | { |
sillevl | 0:0c84a9b17408 | 60 | va_list args; |
sillevl | 0:0c84a9b17408 | 61 | va_start (args, message); |
sillevl | 0:0c84a9b17408 | 62 | log(INFO, message, args); |
sillevl | 0:0c84a9b17408 | 63 | va_end (args); |
sillevl | 0:0c84a9b17408 | 64 | } |
sillevl | 0:0c84a9b17408 | 65 | |
sillevl | 0:0c84a9b17408 | 66 | void LogIt::debug(char* message, ...) |
sillevl | 0:0c84a9b17408 | 67 | { |
sillevl | 0:0c84a9b17408 | 68 | va_list args; |
sillevl | 0:0c84a9b17408 | 69 | va_start (args, message); |
sillevl | 0:0c84a9b17408 | 70 | log(DEBUG,message, args); |
sillevl | 0:0c84a9b17408 | 71 | va_end (args); |
sillevl | 0:0c84a9b17408 | 72 | } |
sillevl | 0:0c84a9b17408 | 73 | |
sillevl | 0:0c84a9b17408 | 74 | void LogIt::log(Level level, char* message, ...) |
sillevl | 0:0c84a9b17408 | 75 | { |
sillevl | 0:0c84a9b17408 | 76 | if(level > this->level){ return; } |
sillevl | 0:0c84a9b17408 | 77 | char levelString[16]; |
sillevl | 0:0c84a9b17408 | 78 | switch(level) |
sillevl | 0:0c84a9b17408 | 79 | { |
sillevl | 0:0c84a9b17408 | 80 | case EMERGENCY: |
sillevl | 0:0c84a9b17408 | 81 | strcpy(levelString, "EMERGENCY"); |
sillevl | 0:0c84a9b17408 | 82 | break; |
sillevl | 0:0c84a9b17408 | 83 | case ALERT: |
sillevl | 0:0c84a9b17408 | 84 | strcpy(levelString, "ALERT"); |
sillevl | 0:0c84a9b17408 | 85 | break; |
sillevl | 0:0c84a9b17408 | 86 | case CRITICAL: |
sillevl | 0:0c84a9b17408 | 87 | strcpy(levelString, "CRITICAL"); |
sillevl | 0:0c84a9b17408 | 88 | break; |
sillevl | 0:0c84a9b17408 | 89 | case ERROR: |
sillevl | 0:0c84a9b17408 | 90 | strcpy(levelString, "ERROR"); |
sillevl | 0:0c84a9b17408 | 91 | break; |
sillevl | 0:0c84a9b17408 | 92 | case WARNING: |
sillevl | 0:0c84a9b17408 | 93 | strcpy(levelString, "WARNING"); |
sillevl | 0:0c84a9b17408 | 94 | break; |
sillevl | 0:0c84a9b17408 | 95 | case NOTICE: |
sillevl | 0:0c84a9b17408 | 96 | strcpy(levelString, "NOTICE"); |
sillevl | 0:0c84a9b17408 | 97 | break; |
sillevl | 0:0c84a9b17408 | 98 | case INFO: |
sillevl | 0:0c84a9b17408 | 99 | strcpy(levelString, "INFO"); |
sillevl | 0:0c84a9b17408 | 100 | break; |
sillevl | 0:0c84a9b17408 | 101 | case DEBUG: |
sillevl | 0:0c84a9b17408 | 102 | strcpy(levelString, "DEBUG"); |
sillevl | 0:0c84a9b17408 | 103 | break; |
sillevl | 0:0c84a9b17408 | 104 | default: |
sillevl | 0:0c84a9b17408 | 105 | strcpy(levelString, "DEBUG"); |
sillevl | 0:0c84a9b17408 | 106 | break; |
sillevl | 0:0c84a9b17408 | 107 | } |
sillevl | 0:0c84a9b17408 | 108 | char buffer[256]; |
sillevl | 0:0c84a9b17408 | 109 | va_list args; |
sillevl | 0:0c84a9b17408 | 110 | va_start (args, message); |
sillevl | 0:0c84a9b17408 | 111 | vsprintf (buffer,message, args); |
sillevl | 0:0c84a9b17408 | 112 | serial->printf("%9s: %s\r\n", levelString, buffer); |
sillevl | 0:0c84a9b17408 | 113 | va_end (args); |
sillevl | 0:0c84a9b17408 | 114 | } |
sillevl | 0:0c84a9b17408 | 115 | |
sillevl | 0:0c84a9b17408 | 116 | void LogIt::setLevel(Level level) |
sillevl | 0:0c84a9b17408 | 117 | { |
sillevl | 0:0c84a9b17408 | 118 | this->level = level; |
sillevl | 0:0c84a9b17408 | 119 | } |