24 #include <core/threading/mutex.h>
25 #include <netcomm/fawkes/component_ids.h>
26 #include <netcomm/fawkes/hub.h>
27 #include <netcomm/utils/ntoh64.h>
28 #include <netinet/in.h>
29 #include <network_logger/network_logger.h>
72 const char * component,
79 gettimeofday(&now, NULL);
86 for (ssit_ = subscribers_.begin(); ssit_ != subscribers_.end(); ++ssit_) {
101 const char * component,
103 const char * message)
107 gettimeofday(&now, NULL);
111 NetworkLoggerMessageContent *content =
112 new NetworkLoggerMessageContent(level, t, component, is_exception, message);
114 for (ssit_ = subscribers_.begin(); ssit_ != subscribers_.end(); ++ssit_) {
115 NetworkLoggerMessageContent *content_copy =
new NetworkLoggerMessageContent(content);
118 }
catch (Exception &e) {
131 send_message(
LL_DEBUG, NULL, component,
false, format, va);
141 send_message(
LL_INFO, NULL, component,
false, format, va);
151 send_message(
LL_WARN, NULL, component,
false, format, va);
161 send_message(
LL_ERROR, NULL, component,
false, format, va);
170 va_start(arg, format);
179 va_start(arg, format);
188 va_start(arg, format);
197 va_start(arg, format);
208 send_message(
LL_DEBUG, NULL, component,
true, *i);
220 send_message(
LL_INFO, NULL, component,
true, *i);
232 send_message(
LL_WARN, NULL, component,
true, *i);
244 send_message(
LL_ERROR, NULL, component,
true, *i);
255 send_message(
LL_DEBUG, t, component,
false, format, va);
265 send_message(
LL_INFO, t, component,
false, format, va);
275 send_message(
LL_WARN, t, component,
false, format, va);
285 send_message(
LL_ERROR, t, component,
false, format, va);
294 va_start(arg, format);
303 va_start(arg, format);
312 va_start(arg, format);
321 va_start(arg, format);
332 send_message(
LL_DEBUG, t, component,
true, *i);
344 send_message(
LL_INFO, t, component,
true, *i);
356 send_message(
LL_WARN, t, component,
true, *i);
368 send_message(
LL_ERROR, t, component,
true, *i);
377 if ((msg->cid() == FAWKES_CID_NETWORKLOGGER) && (msg->msgid() ==
MSGTYPE_SUBSCRIBE)) {
379 subscribers_.push_back(msg->clid());
381 subscribers_.unique();
414 const char * component,
421 if ((tmplen = vasprintf(&tmp, format, va)) != -1) {
428 header->
time_sec = hton64(t->tv_sec);
450 const char * component,
452 const char * message)
461 header->
time_sec = hton64(t->tv_sec);
499 if (component_id != FAWKES_CID_NETWORKLOGGER) {
505 own_payload_ =
false;
526 rv.tv_sec = (time_t)ntoh64(header->time_sec);
527 rv.tv_usec = ntohl(header->time_usec);
564 return (header->exception == 1);