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.
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 Tue Jul 12 2022 21:46:30 by
1.7.2