1#ifndef _PAINLESS_MESH_LOGGER_HPP_
2#define _PAINLESS_MESH_LOGGER_HPP_
11#define REMOTE_QUEUE_SIZE 10
40#if defined(PAINLESSMESH_BOOST) && defined(__GNUC__)
41#define PAINLESSMESH_LOG_FORMAT __attribute__((format(printf, 3, 4)))
43#define PAINLESSMESH_LOG_FORMAT
59 Serial.print(F(
"\nsetLogLevel:"));
61 Serial.print(F(
" ERROR |"));
64 Serial.print(F(
" STARTUP |"));
67 Serial.print(F(
" MESH_STATUS |"));
70 Serial.print(F(
" CONNECTION |"));
73 Serial.print(F(
" SYNC |"));
76 Serial.print(F(
" S_TIME |"));
79 Serial.print(F(
" COMMUNICATION |"));
82 Serial.print(F(
" GENERAL |"));
85 Serial.print(F(
" MSG_TYPES |"));
88 Serial.print(F(
" REMOTE |"));
91 Serial.print(F(
" APPLICATION |"));
94 Serial.print(F(
" DEBUG |"));
102 va_start(args, format);
104 vsnprintf(str, 200, format, args);
115 Serial.print(F(
"ERROR: "));
118 Serial.print(F(
"STARTUP: "));
121 Serial.print(F(
"MESH_STATUS: "));
124 Serial.print(F(
"CONNECTION: "));
127 Serial.print(F(
"SYNC: "));
130 Serial.print(F(
"S_TIME: "));
133 Serial.print(F(
"COMMUNICATION: "));
136 Serial.print(F(
"GENERAL: "));
139 Serial.print(F(
"MSG_TYPES: "));
143 Serial.print(F(
"REMOTE: "));
146 Serial.print(F(
"APPLICATION: "));
149 Serial.print(F(
"DEBUG: "));
163 va_start(args, format);
165 vsnprintf(str, 200, format, args);
167 remote_queue.push_back(std::pair<uint32_t, TSTRING>(remote_uuid, str));
172 remote_queue.pop_front();
185 std::list<std::pair<uint32_t, TSTRING>> remote_queue;
186 uint32_t remote_uuid = 0;
void setSink(Sink newSink)
Definition logger.hpp:54
void remote(const char *format...)
Definition logger.hpp:160
std::list< std::pair< uint32_t, TSTRING > > & get_remote_queue()
Definition logger.hpp:177
void(* Sink)(LogLevel type, const char *message)
Definition logger.hpp:53
void setLogLevel(uint16_t newTypes)
Definition logger.hpp:56
void operator()(LogLevel type, const char *format...) PAINLESSMESH_LOG_FORMAT
Definition logger.hpp:99
#define REMOTE_QUEUE_SIZE
Definition logger.hpp:11
#define PAINLESSMESH_LOG_FORMAT
Definition logger.hpp:43
LogLevel
Definition logger.hpp:18
@ S_TIME
Definition logger.hpp:24
@ GENERAL
Definition logger.hpp:26
@ ERROR
Definition logger.hpp:19
@ MESH_STATUS
Definition logger.hpp:21
@ MSG_TYPES
Definition logger.hpp:27
@ COMMUNICATION
Definition logger.hpp:25
@ APPLICATION
Definition logger.hpp:29
@ SYNC
Definition logger.hpp:23
@ REMOTE
Definition logger.hpp:28
@ DEBUG
Definition logger.hpp:30
@ CONNECTION
Definition logger.hpp:22
@ STARTUP
Definition logger.hpp:20