Fork of my original MQTTGateway

Dependencies:   mbed-http

Committer:
vpcola
Date:
Sat Apr 08 14:43:14 2017 +0000
Revision:
0:a1734fe1ec4b
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vpcola 0:a1734fe1ec4b 1 /**
vpcola 0:a1734fe1ec4b 2 * Copyright (c) 2015 Digi International Inc.,
vpcola 0:a1734fe1ec4b 3 * All rights not expressly granted are reserved.
vpcola 0:a1734fe1ec4b 4 *
vpcola 0:a1734fe1ec4b 5 * This Source Code Form is subject to the terms of the Mozilla Public
vpcola 0:a1734fe1ec4b 6 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
vpcola 0:a1734fe1ec4b 7 * You can obtain one at http://mozilla.org/MPL/2.0/.
vpcola 0:a1734fe1ec4b 8 *
vpcola 0:a1734fe1ec4b 9 * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
vpcola 0:a1734fe1ec4b 10 * =======================================================================
vpcola 0:a1734fe1ec4b 11 */
vpcola 0:a1734fe1ec4b 12
vpcola 0:a1734fe1ec4b 13 #include "DigiLogger.h"
vpcola 0:a1734fe1ec4b 14
vpcola 0:a1734fe1ec4b 15 #include <stdarg.h>
vpcola 0:a1734fe1ec4b 16
vpcola 0:a1734fe1ec4b 17 using namespace DigiLog;
vpcola 0:a1734fe1ec4b 18
vpcola 0:a1734fe1ec4b 19 LogLevel DigiLogger::_log_level;
vpcola 0:a1734fe1ec4b 20
vpcola 0:a1734fe1ec4b 21 DigiLogger* DigiLogger::current_logger;
vpcola 0:a1734fe1ec4b 22
vpcola 0:a1734fe1ec4b 23 /* Base Class constructor */
vpcola 0:a1734fe1ec4b 24 DigiLogger::DigiLogger()
vpcola 0:a1734fe1ec4b 25 {
vpcola 0:a1734fe1ec4b 26 _log_level = LogLevelNone;
vpcola 0:a1734fe1ec4b 27
vpcola 0:a1734fe1ec4b 28 current_logger = NULL;
vpcola 0:a1734fe1ec4b 29 }
vpcola 0:a1734fe1ec4b 30
vpcola 0:a1734fe1ec4b 31 /* Class destructor */
vpcola 0:a1734fe1ec4b 32 DigiLogger::~DigiLogger()
vpcola 0:a1734fe1ec4b 33 {
vpcola 0:a1734fe1ec4b 34 current_logger = NULL;
vpcola 0:a1734fe1ec4b 35 }
vpcola 0:a1734fe1ec4b 36
vpcola 0:a1734fe1ec4b 37 void DigiLogger::set_level(LogLevel log_level)
vpcola 0:a1734fe1ec4b 38 {
vpcola 0:a1734fe1ec4b 39 _log_level = log_level;
vpcola 0:a1734fe1ec4b 40 }
vpcola 0:a1734fe1ec4b 41
vpcola 0:a1734fe1ec4b 42 LogLevel DigiLogger::get_level()
vpcola 0:a1734fe1ec4b 43 {
vpcola 0:a1734fe1ec4b 44 return _log_level;
vpcola 0:a1734fe1ec4b 45 }
vpcola 0:a1734fe1ec4b 46
vpcola 0:a1734fe1ec4b 47 void DigiLogger::log_format(LogLevel log_level, const char *format, ...)
vpcola 0:a1734fe1ec4b 48 {
vpcola 0:a1734fe1ec4b 49 static char buffer[DEBUG_BUFFER_LEN];
vpcola 0:a1734fe1ec4b 50 va_list argp;
vpcola 0:a1734fe1ec4b 51
vpcola 0:a1734fe1ec4b 52 if (current_logger == NULL) {
vpcola 0:a1734fe1ec4b 53 return;
vpcola 0:a1734fe1ec4b 54 }
vpcola 0:a1734fe1ec4b 55
vpcola 0:a1734fe1ec4b 56 if (_log_level < log_level) {
vpcola 0:a1734fe1ec4b 57 return;
vpcola 0:a1734fe1ec4b 58 }
vpcola 0:a1734fe1ec4b 59
vpcola 0:a1734fe1ec4b 60 va_start(argp, format);
vpcola 0:a1734fe1ec4b 61 vsnprintf(buffer, DEBUG_BUFFER_LEN, format, argp);
vpcola 0:a1734fe1ec4b 62 va_end(argp);
vpcola 0:a1734fe1ec4b 63
vpcola 0:a1734fe1ec4b 64 current_logger->log_buffer(buffer);
vpcola 0:a1734fe1ec4b 65 }
vpcola 0:a1734fe1ec4b 66
vpcola 0:a1734fe1ec4b 67 void DigiLogger::log_buffer(char const * const buffer)
vpcola 0:a1734fe1ec4b 68 {
vpcola 0:a1734fe1ec4b 69 (void)(buffer);
vpcola 0:a1734fe1ec4b 70 }