Serial output logger based on the LoggerInterface
Diff: LogIt.cpp
- Revision:
- 1:5c3eeae51c21
- Parent:
- 0:0c84a9b17408
--- a/LogIt.cpp Thu Nov 24 14:26:03 2016 +0000 +++ b/LogIt.cpp Fri Mar 31 15:40:15 2017 +0200 @@ -2,12 +2,12 @@ #include <stdarg.h> #include <stdio.h> -LogIt::LogIt(Serial* serial) +LogIt::LogIt(mbed::Serial* serial) { this->serial = serial; } -void LogIt::emergency(char* message, ...) +void LogIt::emergency(const char* message, ...) { va_list args; va_start (args, message); @@ -15,7 +15,7 @@ va_end (args); } -void LogIt::alert(char* message, ...) +void LogIt::alert(const char* message, ...) { va_list args; va_start (args, message); @@ -23,7 +23,7 @@ va_end (args); } -void LogIt::critical(char* message, ...) +void LogIt::critical(const char* message, ...) { va_list args; va_start (args, message); @@ -31,7 +31,7 @@ va_end (args); } -void LogIt::error(char* message, ...) +void LogIt::error(const char* message, ...) { va_list args; va_start (args, message); @@ -39,7 +39,7 @@ va_end (args); } -void LogIt::warning(char* message, ...) +void LogIt::warning(const char* message, ...) { va_list args; va_start (args, message); @@ -47,7 +47,7 @@ va_end (args); } -void LogIt::notice(char* message, ...) +void LogIt::notice(const char* message, ...) { va_list args; va_start (args, message); @@ -55,7 +55,7 @@ va_end (args); } -void LogIt::info(char* message, ...) +void LogIt::info(const char* message, ...) { va_list args; va_start (args, message); @@ -63,7 +63,7 @@ va_end (args); } -void LogIt::debug(char* message, ...) +void LogIt::debug(const char* message, ...) { va_list args; va_start (args, message); @@ -71,7 +71,15 @@ va_end (args); } -void LogIt::log(Level level, char* message, ...) +void LogIt::log(Level level, const char* message, ...) +{ + va_list args; + va_start (args, message); + log(level,message, args); + va_end (args); +} + +void LogIt::log(Level level, const char* message, va_list args) { if(level > this->level){ return; } char levelString[16]; @@ -79,41 +87,41 @@ { case EMERGENCY: strcpy(levelString, "EMERGENCY"); - break; + break; case ALERT: strcpy(levelString, "ALERT"); - break; + break; case CRITICAL: strcpy(levelString, "CRITICAL"); - break; + break; case ERROR: strcpy(levelString, "ERROR"); - break; + break; case WARNING: strcpy(levelString, "WARNING"); - break; + break; case NOTICE: strcpy(levelString, "NOTICE"); - break; + break; case INFO: strcpy(levelString, "INFO"); - break; + break; case DEBUG: strcpy(levelString, "DEBUG"); - break; + break; default: strcpy(levelString, "DEBUG"); - break; + break; } char buffer[256]; - va_list args; - va_start (args, message); + //va_list args; + //va_start (args, message); vsprintf (buffer,message, args); serial->printf("%9s: %s\r\n", levelString, buffer); - va_end (args); + //va_end (args); } void LogIt::setLevel(Level level) { this->level = level; -} \ No newline at end of file +}