A common library used by Digi International Inc. mbed libraries to output debug information.
Dependents: XBeeLib XBeeLib_Test Chi-XBee-Actuator Chi-XBee-Sensor ... more
A common library used by Digi International Inc. mbed libraries to output debug information.
Used by XBeeLib
See Debugging the library chapter for more info.
Diff: DigiLogger.cpp
- Revision:
- 0:e83acb8d505c
- Child:
- 1:79cea2b2eea6
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DigiLogger.cpp Wed Apr 29 16:06:43 2015 +0200 @@ -0,0 +1,69 @@ +/** + * Copyright (c) 2015 Digi International Inc., + * All rights not expressly granted are reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343 + * ======================================================================= + */ + +#include "DigiLogger.h" + +#include <stdarg.h> + +using namespace DigiLog; + +LogLevel DigiLogger::_log_level; + +DigiLogger* DigiLogger::current_logger; + +/* Base Class constructor */ +DigiLogger::DigiLogger() +{ + _log_level = LogLevelNone; + + current_logger = nullptr; +} + +/* Class destructor */ +DigiLogger::~DigiLogger() +{ + current_logger = nullptr; +} + +void DigiLogger::set_level(LogLevel log_level) +{ + _log_level = log_level; +} + +LogLevel DigiLogger::get_level() +{ + return _log_level; +} + +void DigiLogger::log_format(LogLevel log_level, const char *format, ...) +{ + static char buffer[DEBUG_BUFFER_LEN]; + va_list argp; + + if (current_logger == nullptr) + return; + + if (_log_level < log_level) + return; + + va_start(argp, format); + vsnprintf(buffer, DEBUG_BUFFER_LEN, format, argp); + va_end(argp); + + current_logger->log_buffer(buffer); +} + +void DigiLogger::log_buffer(char const * const buffer) +{ +} + +