Fawkes API
Fawkes Development Version
|
Interface for logging to network clients. More...
#include <>>
Classes | |
struct | network_logger_header_t |
Network logging message header. More... | |
Public Types | |
enum | network_logger_msgtype_t { MSGTYPE_SUBSCRIBE = 1, MSGTYPE_UNSUBSCRIBE = 2, MSGTYPE_LOGMESSAGE = 3 } |
NetworkLogger message types. More... | |
![]() | |
enum | LogLevel { LL_DEBUG = 0, LL_INFO = 1, LL_WARN = 2, LL_ERROR = 4, LL_NONE = 8 } |
Log level. More... | |
Public Member Functions | |
NetworkLogger (FawkesNetworkHub *hub, LogLevel log_level=LL_DEBUG) | |
Constructor. More... | |
virtual | ~NetworkLogger () |
Destructor. More... | |
virtual void | log_debug (const char *component, const char *format,...) |
Log debug message. More... | |
virtual void | log_info (const char *component, const char *format,...) |
Log informational message. More... | |
virtual void | log_warn (const char *component, const char *format,...) |
Log warning message. More... | |
virtual void | log_error (const char *component, const char *format,...) |
Log error message. More... | |
virtual void | log_debug (const char *component, Exception &e) |
Log debug exception. More... | |
virtual void | log_info (const char *component, Exception &e) |
Log informational exception. More... | |
virtual void | log_warn (const char *component, Exception &e) |
Log warning exception. More... | |
virtual void | log_error (const char *component, Exception &e) |
Log error exception. More... | |
virtual void | vlog_debug (const char *component, const char *format, va_list va) |
Log debug message. More... | |
virtual void | vlog_info (const char *component, const char *format, va_list va) |
Log informational message. More... | |
virtual void | vlog_warn (const char *component, const char *format, va_list va) |
Log warning message. More... | |
virtual void | vlog_error (const char *component, const char *format, va_list va) |
Log error message. More... | |
virtual void | tlog_debug (struct timeval *t, const char *component, const char *format,...) |
Log debug message for specific time. More... | |
virtual void | tlog_info (struct timeval *t, const char *component, const char *format,...) |
Log informational message for specific time. More... | |
virtual void | tlog_warn (struct timeval *t, const char *component, const char *format,...) |
Log warning message for specific time. More... | |
virtual void | tlog_error (struct timeval *t, const char *component, const char *format,...) |
Log error message for specific time. More... | |
virtual void | tlog_debug (struct timeval *t, const char *component, Exception &e) |
Log debug exception for specific time. More... | |
virtual void | tlog_info (struct timeval *t, const char *component, Exception &e) |
Log informational exception for specific time. More... | |
virtual void | tlog_warn (struct timeval *t, const char *component, Exception &e) |
Log warning exception for specific time. More... | |
virtual void | tlog_error (struct timeval *t, const char *component, Exception &e) |
Log error exception for specific time. More... | |
virtual void | vtlog_debug (struct timeval *t, const char *component, const char *format, va_list va) |
Log debug message for specific time. More... | |
virtual void | vtlog_info (struct timeval *t, const char *component, const char *format, va_list va) |
Log informational message for specific time. More... | |
virtual void | vtlog_warn (struct timeval *t, const char *component, const char *format, va_list va) |
Log warning message for specific time. More... | |
virtual void | vtlog_error (struct timeval *t, const char *component, const char *format, va_list va) |
Log error message for specific time. More... | |
virtual void | handle_network_message (FawkesNetworkMessage *msg) |
Called for incoming messages that are addressed to the correct component ID. More... | |
virtual void | client_connected (unsigned int clid) |
Called when a new client connected. More... | |
virtual void | client_disconnected (unsigned int clid) |
Called when a client disconnected. More... | |
![]() | |
Logger (LogLevel log_level=LL_DEBUG) | |
Constructor. More... | |
virtual | ~Logger () |
Virtual empty destructor. More... | |
virtual void | set_loglevel (LogLevel level) |
Sets the log level. More... | |
virtual LogLevel | loglevel () |
Get log level. More... | |
virtual void | log (LogLevel level, const char *component, const char *format,...) |
Log message of given log level. More... | |
virtual void | log (LogLevel level, const char *component, Exception &e) |
Log exception for given log level. More... | |
virtual void | vlog (LogLevel level, const char *component, const char *format, va_list va) |
Log message for given log level. More... | |
virtual void | tlog (LogLevel level, struct timeval *t, const char *component, const char *format,...) |
Log message of given log level and time. More... | |
virtual void | tlog (LogLevel level, struct timeval *t, const char *component, Exception &e) |
Log exception for given log level. More... | |
virtual void | vtlog (LogLevel level, struct timeval *t, const char *component, const char *format, va_list va) |
Log message for given log level and time. More... | |
![]() | |
FawkesNetworkHandler (unsigned short int id) | |
Constructor. More... | |
virtual | ~FawkesNetworkHandler () |
Destructor. More... | |
unsigned short int | id () const |
Get the component ID for this handler. More... | |
Additional Inherited Members | |
![]() | |
LogLevel | log_level |
Minimum log level. More... | |
Interface for logging to network clients.
The NetwokLogger will pipe all output to clients that subscribed for log messages.
Definition at line 40 of file network_logger.h.
NetworkLogger message types.
Enumerator | |
---|---|
MSGTYPE_SUBSCRIBE | Subscribe for logging messages. |
MSGTYPE_UNSUBSCRIBE | Unsubscribe from receiving logging messages. |
MSGTYPE_LOGMESSAGE | Log message. |
Definition at line 83 of file network_logger.h.
fawkes::NetworkLogger::NetworkLogger | ( | FawkesNetworkHub * | hub, |
LogLevel | log_level = LL_DEBUG |
||
) |
Constructor.
hub | FawkesNetworkHub to use to send and receive messages |
log_level | minimum level to log |
Definition at line 55 of file network_logger.cpp.
References fawkes::FawkesNetworkHub::add_handler().
|
virtual |
Destructor.
Definition at line 64 of file network_logger.cpp.
References fawkes::FawkesNetworkHub::remove_handler().
|
virtual |
Called when a new client connected.
If any actions need to be taken on your side this is the place to do it.
clid | client ID of new client |
Implements fawkes::FawkesNetworkHandler.
Definition at line 387 of file network_logger.cpp.
|
virtual |
Called when a client disconnected.
If any actions need to be taken on your side this is the place to do it. Note that you cannot send any further messages to this client!
clid | client ID of disconnected client |
Implements fawkes::FawkesNetworkHandler.
Definition at line 392 of file network_logger.cpp.
References fawkes::LockList< Type >::remove_locked().
|
virtual |
Called for incoming messages that are addressed to the correct component ID.
Note that this message should be processed really really fast! A good idea is to enqueue the message in an inbound queue (remember to ref() it!) and then process it in the next run of loop() or wakeup a processing thread.
msg | message to handle. If you want to keep this message you have to ref() it! It is guaranteed that the message will not be erased during the handleNetworkMessage() run, but afterwards no guarantee is made. So if you want to store the message internally for example for later processing you have to reference the message. |
Implements fawkes::FawkesNetworkHandler.
Definition at line 375 of file network_logger.cpp.
References fawkes::FawkesNetworkMessage::cid(), fawkes::FawkesNetworkMessage::clid(), fawkes::LockList< Type >::lock(), fawkes::FawkesNetworkMessage::msgid(), MSGTYPE_SUBSCRIBE, and fawkes::LockList< Type >::unlock().
|
virtual |
Log debug message.
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
Implements fawkes::Logger.
Definition at line 167 of file network_logger.cpp.
References vlog_debug().
|
virtual |
Log debug exception.
component | component, used to distuinguish logged messages |
e | exception to log, exception messages will be logged |
Implements fawkes::Logger.
Definition at line 203 of file network_logger.cpp.
References fawkes::Exception::begin(), fawkes::Exception::end(), fawkes::Logger::LL_DEBUG, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
|
virtual |
Log error message.
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
Implements fawkes::Logger.
Definition at line 194 of file network_logger.cpp.
References vlog_error().
|
virtual |
Log error exception.
component | component, used to distuinguish logged messages |
e | exception to log, exception messages will be logged |
Implements fawkes::Logger.
Definition at line 239 of file network_logger.cpp.
References fawkes::Exception::begin(), fawkes::Exception::end(), fawkes::Logger::LL_ERROR, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
|
virtual |
Log informational message.
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
Implements fawkes::Logger.
Definition at line 176 of file network_logger.cpp.
References vlog_info().
|
virtual |
Log informational exception.
component | component, used to distuinguish logged messages |
e | exception to log, exception messages will be logged |
Implements fawkes::Logger.
Definition at line 215 of file network_logger.cpp.
References fawkes::Exception::begin(), fawkes::Exception::end(), fawkes::Logger::LL_INFO, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
|
virtual |
Log warning message.
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
Implements fawkes::Logger.
Definition at line 185 of file network_logger.cpp.
References vlog_warn().
|
virtual |
Log warning exception.
component | component, used to distuinguish logged messages |
e | exception to log, exception messages will be logged |
Implements fawkes::Logger.
Definition at line 227 of file network_logger.cpp.
References fawkes::Exception::begin(), fawkes::Exception::end(), fawkes::Logger::LL_WARN, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
|
virtual |
Log debug message for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
Implements fawkes::Logger.
Definition at line 291 of file network_logger.cpp.
References vtlog_debug().
|
virtual |
Log debug exception for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
e | exception to log, exception messages will be logged |
Implements fawkes::Logger.
Definition at line 327 of file network_logger.cpp.
References fawkes::Exception::begin(), fawkes::Exception::end(), fawkes::Logger::LL_DEBUG, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
|
virtual |
Log error message for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
Implements fawkes::Logger.
Definition at line 318 of file network_logger.cpp.
References vtlog_error().
|
virtual |
Log error exception for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
e | exception to log, exception messages will be logged |
Implements fawkes::Logger.
Definition at line 363 of file network_logger.cpp.
References fawkes::Exception::begin(), fawkes::Exception::end(), fawkes::Logger::LL_ERROR, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
|
virtual |
Log informational message for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
Implements fawkes::Logger.
Definition at line 300 of file network_logger.cpp.
References vtlog_info().
|
virtual |
Log informational exception for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
e | exception to log, exception messages will be logged |
Implements fawkes::Logger.
Definition at line 339 of file network_logger.cpp.
References fawkes::Exception::begin(), fawkes::Exception::end(), fawkes::Logger::LL_INFO, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
|
virtual |
Log warning message for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
Implements fawkes::Logger.
Definition at line 309 of file network_logger.cpp.
References vtlog_warn().
|
virtual |
Log warning exception for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
e | exception to log, exception messages will be logged |
Implements fawkes::Logger.
Definition at line 351 of file network_logger.cpp.
References fawkes::Exception::begin(), fawkes::Exception::end(), fawkes::Logger::LL_WARN, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
|
virtual |
Log debug message.
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
va | variable argument list |
Implements fawkes::Logger.
Definition at line 127 of file network_logger.cpp.
References fawkes::Logger::LL_DEBUG, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
Referenced by log_debug().
|
virtual |
Log error message.
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
va | variable argument list |
Implements fawkes::Logger.
Definition at line 157 of file network_logger.cpp.
References fawkes::Logger::LL_ERROR, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
Referenced by log_error().
|
virtual |
Log informational message.
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
va | variable argument list |
Implements fawkes::Logger.
Definition at line 137 of file network_logger.cpp.
References fawkes::Logger::LL_INFO, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
Referenced by log_info().
|
virtual |
Log warning message.
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
va | variable argument list |
Implements fawkes::Logger.
Definition at line 147 of file network_logger.cpp.
References fawkes::Logger::LL_WARN, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
Referenced by log_warn().
|
virtual |
Log debug message for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
va | variable argument list |
Implements fawkes::Logger.
Definition at line 251 of file network_logger.cpp.
References fawkes::Logger::LL_DEBUG, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
Referenced by tlog_debug().
|
virtual |
Log error message for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
va | variable argument list |
Implements fawkes::Logger.
Definition at line 281 of file network_logger.cpp.
References fawkes::Logger::LL_ERROR, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
Referenced by tlog_error().
|
virtual |
Log informational message for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
va | variable argument list |
Implements fawkes::Logger.
Definition at line 261 of file network_logger.cpp.
References fawkes::Logger::LL_INFO, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
Referenced by tlog_info().
|
virtual |
Log warning message for specific time.
t | time for this message to log |
component | component, used to distuinguish logged messages |
format | format of the message, see man page of sprintf for available tokens. |
va | variable argument list |
Implements fawkes::Logger.
Definition at line 271 of file network_logger.cpp.
References fawkes::Logger::LL_WARN, fawkes::LockList< Type >::lock(), fawkes::Logger::log_level, and fawkes::LockList< Type >::unlock().
Referenced by tlog_warn().