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
DigiLogger.h
00001 /** 00002 * Copyright (c) 2015 Digi International Inc., 00003 * All rights not expressly granted are reserved. 00004 * 00005 * This Source Code Form is subject to the terms of the Mozilla Public 00006 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 00007 * You can obtain one at http://mozilla.org/MPL/2.0/. 00008 * 00009 * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343 00010 * ======================================================================= 00011 */ 00012 00013 #if !defined(__DIGI_LOGGER_H_) 00014 #define __DIGI_LOGGER_H_ 00015 00016 #include <cstdlib> 00017 #include <stdio.h> 00018 00019 /** 00020 * @defgroup LogLevel 00021 * @{ 00022 */ 00023 /** 00024 * Library Logging level. 00025 */ 00026 enum LogLevel { 00027 LogLevelNone, /** Level None */ 00028 LogLevelError, /** Level Error */ 00029 LogLevelWarning, /** Level Warning */ 00030 LogLevelInfo, /** Level Info */ 00031 LogLevelDebug, /** Level Debug */ 00032 LogLevelFrameData, /** Level Frame Data */ 00033 LogLevelAll /** Level All */ 00034 }; 00035 /** 00036 * @} 00037 */ 00038 00039 #define DEBUG_BUFFER_LEN 200 00040 00041 namespace DigiLog { 00042 00043 class DigiLogger 00044 { 00045 protected: 00046 00047 /** module log level */ 00048 static LogLevel _log_level; 00049 00050 static DigiLogger* current_logger; 00051 00052 /* Not implemented for base class */ 00053 virtual void log_buffer(char const * const buffer); 00054 00055 public: 00056 00057 /** Class constructor */ 00058 DigiLogger(); 00059 00060 /** Class destructor */ 00061 virtual ~DigiLogger(); 00062 00063 /** set_level - set logging level. 00064 * 00065 * @param log_level desired overall logging level 00066 */ 00067 static void set_level(LogLevel log_level); 00068 00069 /** get_level - get logging level. 00070 * 00071 * @returns current overall logging level 00072 */ 00073 static LogLevel get_level(); 00074 00075 /** log_format - logs a printf-like message. 00076 * 00077 * @param log_level logging level 00078 * @param format ... printf-like message 00079 */ 00080 static void log_format(LogLevel log_level, const char *format, ...); 00081 00082 }; 00083 00084 } /* namespace DigiLog */ 00085 00086 #endif /* defined(__DIGI_LOGGER_H_) */ 00087 00088 00089
Generated on Mon Jul 18 2022 06:05:37 by 1.7.2