Serial output logger based on the LoggerInterface
LogIt.cpp@5:8cd22c68d239, 2017-04-02 (annotated)
- Committer:
- Sille Van Landschoot
- Date:
- Sun Apr 02 13:51:38 2017 +0200
- Revision:
- 5:8cd22c68d239
- Parent:
- 1:5c3eeae51c21
solve merge bug in LogIt.h
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 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 5 | LogIt::LogIt(mbed::Serial* serial) |
sillevl | 0:0c84a9b17408 | 6 | { |
sillevl | 0:0c84a9b17408 | 7 | this->serial = serial; |
sillevl | 0:0c84a9b17408 | 8 | } |
sillevl | 0:0c84a9b17408 | 9 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 10 | void LogIt::emergency(const 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 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 18 | void LogIt::alert(const 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 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 26 | void LogIt::critical(const 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 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 34 | void LogIt::error(const 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 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 42 | void LogIt::warning(const 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 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 50 | void LogIt::notice(const 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 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 58 | void LogIt::info(const 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 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 66 | void LogIt::debug(const 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 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 74 | void LogIt::log(Level level, const char* message, ...) |
Sille Van Landschoot |
1:5c3eeae51c21 | 75 | { |
Sille Van Landschoot |
1:5c3eeae51c21 | 76 | va_list args; |
Sille Van Landschoot |
1:5c3eeae51c21 | 77 | va_start (args, message); |
Sille Van Landschoot |
1:5c3eeae51c21 | 78 | log(level,message, args); |
Sille Van Landschoot |
1:5c3eeae51c21 | 79 | va_end (args); |
Sille Van Landschoot |
1:5c3eeae51c21 | 80 | } |
Sille Van Landschoot |
1:5c3eeae51c21 | 81 | |
Sille Van Landschoot |
1:5c3eeae51c21 | 82 | void LogIt::log(Level level, const char* message, va_list args) |
sillevl | 0:0c84a9b17408 | 83 | { |
sillevl | 0:0c84a9b17408 | 84 | if(level > this->level){ return; } |
sillevl | 0:0c84a9b17408 | 85 | char levelString[16]; |
sillevl | 0:0c84a9b17408 | 86 | switch(level) |
sillevl | 0:0c84a9b17408 | 87 | { |
sillevl | 0:0c84a9b17408 | 88 | case EMERGENCY: |
sillevl | 0:0c84a9b17408 | 89 | strcpy(levelString, "EMERGENCY"); |
Sille Van Landschoot |
1:5c3eeae51c21 | 90 | break; |
sillevl | 0:0c84a9b17408 | 91 | case ALERT: |
sillevl | 0:0c84a9b17408 | 92 | strcpy(levelString, "ALERT"); |
Sille Van Landschoot |
1:5c3eeae51c21 | 93 | break; |
sillevl | 0:0c84a9b17408 | 94 | case CRITICAL: |
sillevl | 0:0c84a9b17408 | 95 | strcpy(levelString, "CRITICAL"); |
Sille Van Landschoot |
1:5c3eeae51c21 | 96 | break; |
sillevl | 0:0c84a9b17408 | 97 | case ERROR: |
sillevl | 0:0c84a9b17408 | 98 | strcpy(levelString, "ERROR"); |
Sille Van Landschoot |
1:5c3eeae51c21 | 99 | break; |
sillevl | 0:0c84a9b17408 | 100 | case WARNING: |
sillevl | 0:0c84a9b17408 | 101 | strcpy(levelString, "WARNING"); |
Sille Van Landschoot |
1:5c3eeae51c21 | 102 | break; |
sillevl | 0:0c84a9b17408 | 103 | case NOTICE: |
sillevl | 0:0c84a9b17408 | 104 | strcpy(levelString, "NOTICE"); |
Sille Van Landschoot |
1:5c3eeae51c21 | 105 | break; |
sillevl | 0:0c84a9b17408 | 106 | case INFO: |
sillevl | 0:0c84a9b17408 | 107 | strcpy(levelString, "INFO"); |
Sille Van Landschoot |
1:5c3eeae51c21 | 108 | break; |
sillevl | 0:0c84a9b17408 | 109 | case DEBUG: |
sillevl | 0:0c84a9b17408 | 110 | strcpy(levelString, "DEBUG"); |
Sille Van Landschoot |
1:5c3eeae51c21 | 111 | break; |
sillevl | 0:0c84a9b17408 | 112 | default: |
sillevl | 0:0c84a9b17408 | 113 | strcpy(levelString, "DEBUG"); |
Sille Van Landschoot |
1:5c3eeae51c21 | 114 | break; |
sillevl | 0:0c84a9b17408 | 115 | } |
sillevl | 0:0c84a9b17408 | 116 | char buffer[256]; |
Sille Van Landschoot |
1:5c3eeae51c21 | 117 | //va_list args; |
Sille Van Landschoot |
1:5c3eeae51c21 | 118 | //va_start (args, message); |
sillevl | 0:0c84a9b17408 | 119 | vsprintf (buffer,message, args); |
sillevl | 0:0c84a9b17408 | 120 | serial->printf("%9s: %s\r\n", levelString, buffer); |
Sille Van Landschoot |
1:5c3eeae51c21 | 121 | //va_end (args); |
sillevl | 0:0c84a9b17408 | 122 | } |
sillevl | 0:0c84a9b17408 | 123 | |
sillevl | 0:0c84a9b17408 | 124 | void LogIt::setLevel(Level level) |
sillevl | 0:0c84a9b17408 | 125 | { |
sillevl | 0:0c84a9b17408 | 126 | this->level = level; |
Sille Van Landschoot |
1:5c3eeae51c21 | 127 | } |