Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of LogIt by
loggers/serial_logger.cpp@7:eb101b1726a5, 2017-05-03 (annotated)
- Committer:
- dwini
- Date:
- Wed May 03 14:16:40 2017 +0000
- Revision:
- 7:eb101b1726a5
- Parent:
- 4:9c5143891c8a
Renaming namespace as it conflicts with other existing logger.
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| Nico De Witte | 4:9c5143891c8a | 1 | #include "serial_logger.h" | 
| Nico De Witte | 4:9c5143891c8a | 2 | #include <stdarg.h> | 
| Nico De Witte | 4:9c5143891c8a | 3 | #include <stdio.h> | 
| Nico De Witte | 4:9c5143891c8a | 4 | |
| dwini | 7:eb101b1726a5 | 5 | namespace LogItNow { | 
| Nico De Witte | 4:9c5143891c8a | 6 | |
| Nico De Witte | 4:9c5143891c8a | 7 | SerialLogger::SerialLogger(Serial* serial) | 
| Nico De Witte | 4:9c5143891c8a | 8 | { | 
| Nico De Witte | 4:9c5143891c8a | 9 | this->serial = serial; | 
| Nico De Witte | 4:9c5143891c8a | 10 | } | 
| Nico De Witte | 4:9c5143891c8a | 11 | |
| Nico De Witte | 4:9c5143891c8a | 12 | void SerialLogger::emergency(const char * message, ...) | 
| Nico De Witte | 4:9c5143891c8a | 13 | { | 
| Nico De Witte | 4:9c5143891c8a | 14 | va_list args; | 
| Nico De Witte | 4:9c5143891c8a | 15 | va_start (args, message); | 
| Nico De Witte | 4:9c5143891c8a | 16 | log(EMERGENCY, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 17 | va_end (args); | 
| Nico De Witte | 4:9c5143891c8a | 18 | } | 
| Nico De Witte | 4:9c5143891c8a | 19 | |
| Nico De Witte | 4:9c5143891c8a | 20 | void SerialLogger::alert(const char * message, ...) | 
| Nico De Witte | 4:9c5143891c8a | 21 | { | 
| Nico De Witte | 4:9c5143891c8a | 22 | va_list args; | 
| Nico De Witte | 4:9c5143891c8a | 23 | va_start (args, message); | 
| Nico De Witte | 4:9c5143891c8a | 24 | log(ALERT, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 25 | va_end (args); | 
| Nico De Witte | 4:9c5143891c8a | 26 | } | 
| Nico De Witte | 4:9c5143891c8a | 27 | |
| Nico De Witte | 4:9c5143891c8a | 28 | void SerialLogger::critical(const char * message, ...) | 
| Nico De Witte | 4:9c5143891c8a | 29 | { | 
| Nico De Witte | 4:9c5143891c8a | 30 | va_list args; | 
| Nico De Witte | 4:9c5143891c8a | 31 | va_start (args, message); | 
| Nico De Witte | 4:9c5143891c8a | 32 | log(CRITICAL, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 33 | va_end (args); | 
| Nico De Witte | 4:9c5143891c8a | 34 | } | 
| Nico De Witte | 4:9c5143891c8a | 35 | |
| Nico De Witte | 4:9c5143891c8a | 36 | void SerialLogger::error(const char * message, ...) | 
| Nico De Witte | 4:9c5143891c8a | 37 | { | 
| Nico De Witte | 4:9c5143891c8a | 38 | va_list args; | 
| Nico De Witte | 4:9c5143891c8a | 39 | va_start (args, message); | 
| Nico De Witte | 4:9c5143891c8a | 40 | log(ERROR, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 41 | va_end (args); | 
| Nico De Witte | 4:9c5143891c8a | 42 | } | 
| Nico De Witte | 4:9c5143891c8a | 43 | |
| Nico De Witte | 4:9c5143891c8a | 44 | void SerialLogger::warning(const char * message, ...) | 
| Nico De Witte | 4:9c5143891c8a | 45 | { | 
| Nico De Witte | 4:9c5143891c8a | 46 | va_list args; | 
| Nico De Witte | 4:9c5143891c8a | 47 | va_start (args, message); | 
| Nico De Witte | 4:9c5143891c8a | 48 | log(WARNING, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 49 | va_end (args); | 
| Nico De Witte | 4:9c5143891c8a | 50 | } | 
| Nico De Witte | 4:9c5143891c8a | 51 | |
| Nico De Witte | 4:9c5143891c8a | 52 | void SerialLogger::notice(const char * message, ...) | 
| Nico De Witte | 4:9c5143891c8a | 53 | { | 
| Nico De Witte | 4:9c5143891c8a | 54 | va_list args; | 
| Nico De Witte | 4:9c5143891c8a | 55 | va_start (args, message); | 
| Nico De Witte | 4:9c5143891c8a | 56 | log(NOTICE, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 57 | va_end (args); | 
| Nico De Witte | 4:9c5143891c8a | 58 | } | 
| Nico De Witte | 4:9c5143891c8a | 59 | |
| Nico De Witte | 4:9c5143891c8a | 60 | void SerialLogger::info(const char * message, ...) | 
| Nico De Witte | 4:9c5143891c8a | 61 | { | 
| Nico De Witte | 4:9c5143891c8a | 62 | va_list args; | 
| Nico De Witte | 4:9c5143891c8a | 63 | va_start (args, message); | 
| Nico De Witte | 4:9c5143891c8a | 64 | log(INFO, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 65 | va_end (args); | 
| Nico De Witte | 4:9c5143891c8a | 66 | } | 
| Nico De Witte | 4:9c5143891c8a | 67 | |
| Nico De Witte | 4:9c5143891c8a | 68 | void SerialLogger::debug(const char * message, ...) | 
| Nico De Witte | 4:9c5143891c8a | 69 | { | 
| Nico De Witte | 4:9c5143891c8a | 70 | va_list args; | 
| Nico De Witte | 4:9c5143891c8a | 71 | va_start (args, message); | 
| Nico De Witte | 4:9c5143891c8a | 72 | log(DEBUG, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 73 | va_end (args); | 
| Nico De Witte | 4:9c5143891c8a | 74 | } | 
| Nico De Witte | 4:9c5143891c8a | 75 | |
| Nico De Witte | 4:9c5143891c8a | 76 | void SerialLogger::log(Level level, const char * message, ...) | 
| Nico De Witte | 4:9c5143891c8a | 77 | { | 
| Nico De Witte | 4:9c5143891c8a | 78 | va_list args; | 
| Nico De Witte | 4:9c5143891c8a | 79 | va_start (args, message); | 
| Nico De Witte | 4:9c5143891c8a | 80 | log(level, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 81 | va_end (args); | 
| Nico De Witte | 4:9c5143891c8a | 82 | } | 
| Nico De Witte | 4:9c5143891c8a | 83 | |
| Nico De Witte | 4:9c5143891c8a | 84 | void SerialLogger::log(Level level, const char * message, va_list args) | 
| Nico De Witte | 4:9c5143891c8a | 85 | { | 
| Nico De Witte | 4:9c5143891c8a | 86 | if(level > this->level){ | 
| Nico De Witte | 4:9c5143891c8a | 87 | return; | 
| Nico De Witte | 4:9c5143891c8a | 88 | } | 
| Nico De Witte | 4:9c5143891c8a | 89 | |
| Nico De Witte | 4:9c5143891c8a | 90 | char levelString[16]; | 
| Nico De Witte | 4:9c5143891c8a | 91 | switch(level) | 
| Nico De Witte | 4:9c5143891c8a | 92 | { | 
| Nico De Witte | 4:9c5143891c8a | 93 | case EMERGENCY: | 
| Nico De Witte | 4:9c5143891c8a | 94 | strcpy(levelString, "EMERGENCY"); | 
| Nico De Witte | 4:9c5143891c8a | 95 | break; | 
| Nico De Witte | 4:9c5143891c8a | 96 | case ALERT: | 
| Nico De Witte | 4:9c5143891c8a | 97 | strcpy(levelString, "ALERT"); | 
| Nico De Witte | 4:9c5143891c8a | 98 | break; | 
| Nico De Witte | 4:9c5143891c8a | 99 | case CRITICAL: | 
| Nico De Witte | 4:9c5143891c8a | 100 | strcpy(levelString, "CRITICAL"); | 
| Nico De Witte | 4:9c5143891c8a | 101 | break; | 
| Nico De Witte | 4:9c5143891c8a | 102 | case ERROR: | 
| Nico De Witte | 4:9c5143891c8a | 103 | strcpy(levelString, "ERROR"); | 
| Nico De Witte | 4:9c5143891c8a | 104 | break; | 
| Nico De Witte | 4:9c5143891c8a | 105 | case WARNING: | 
| Nico De Witte | 4:9c5143891c8a | 106 | strcpy(levelString, "WARNING"); | 
| Nico De Witte | 4:9c5143891c8a | 107 | break; | 
| Nico De Witte | 4:9c5143891c8a | 108 | case NOTICE: | 
| Nico De Witte | 4:9c5143891c8a | 109 | strcpy(levelString, "NOTICE"); | 
| Nico De Witte | 4:9c5143891c8a | 110 | break; | 
| Nico De Witte | 4:9c5143891c8a | 111 | case INFO: | 
| Nico De Witte | 4:9c5143891c8a | 112 | strcpy(levelString, "INFO"); | 
| Nico De Witte | 4:9c5143891c8a | 113 | break; | 
| Nico De Witte | 4:9c5143891c8a | 114 | case DEBUG: | 
| Nico De Witte | 4:9c5143891c8a | 115 | strcpy(levelString, "DEBUG"); | 
| Nico De Witte | 4:9c5143891c8a | 116 | break; | 
| Nico De Witte | 4:9c5143891c8a | 117 | default: | 
| Nico De Witte | 4:9c5143891c8a | 118 | strcpy(levelString, "DEBUG"); | 
| Nico De Witte | 4:9c5143891c8a | 119 | break; | 
| Nico De Witte | 4:9c5143891c8a | 120 | } | 
| Nico De Witte | 4:9c5143891c8a | 121 | |
| Nico De Witte | 4:9c5143891c8a | 122 | char buffer[256]; | 
| Nico De Witte | 4:9c5143891c8a | 123 | vsprintf (buffer, message, args); | 
| Nico De Witte | 4:9c5143891c8a | 124 | serial->printf("%9s: %s\r\n", levelString, buffer); | 
| Nico De Witte | 4:9c5143891c8a | 125 | } | 
| Nico De Witte | 4:9c5143891c8a | 126 | |
| Nico De Witte | 4:9c5143891c8a | 127 | void SerialLogger::setLevel(Level level) | 
| Nico De Witte | 4:9c5143891c8a | 128 | { | 
| Nico De Witte | 4:9c5143891c8a | 129 | this->level = level; | 
| Nico De Witte | 4:9c5143891c8a | 130 | } | 
| Nico De Witte | 4:9c5143891c8a | 131 | |
| Nico De Witte | 4:9c5143891c8a | 132 | }; | 
