24 #ifndef _UTILS_LOGGING_CACHE_H_
25 #define _UTILS_LOGGING_CACHE_H_
27 #include <logging/logger.h>
43 virtual void log_debug(
const char *component,
const char *format, ...);
44 virtual void log_info(
const char *component,
const char *format, ...);
45 virtual void log_warn(
const char *component,
const char *format, ...);
46 virtual void log_error(
const char *component,
const char *format, ...);
48 virtual void vlog_debug(
const char *component,
const char *format, va_list va);
49 virtual void vlog_info(
const char *component,
const char *format, va_list va);
50 virtual void vlog_warn(
const char *component,
const char *format, va_list va);
51 virtual void vlog_error(
const char *component,
const char *format, va_list va);
58 virtual void tlog_debug(
struct timeval *t,
const char *component,
const char *format, ...);
59 virtual void tlog_info(
struct timeval *t,
const char *component,
const char *format, ...);
60 virtual void tlog_warn(
struct timeval *t,
const char *component,
const char *format, ...);
61 virtual void tlog_error(
struct timeval *t,
const char *component,
const char *format, ...);
69 vtlog_debug(
struct timeval *t,
const char *component,
const char *format, va_list va);
70 virtual void vtlog_info(
struct timeval *t,
const char *component,
const char *format, va_list va);
71 virtual void vtlog_warn(
struct timeval *t,
const char *component,
const char *format, va_list va);
73 vtlog_error(
struct timeval *t,
const char *component,
const char *format, va_list va);
93 unsigned int size()
const;
94 void set_size(
unsigned int new_size);
100 void push_message(
LogLevel ll,
const char *component,
const char *format, va_list va);
104 const char * component,
107 void tlog_push_message(
LogLevel ll,
struct timeval *t,
const char *component,
Exception &);
113 std::list<CacheEntry> messages_;
114 unsigned int num_entries_;
115 unsigned int max_num_entries_;
virtual void vtlog_error(struct timeval *t, const char *component, const char *format, va_list va)
Log error message for specific time.
virtual void tlog_debug(struct timeval *t, const char *component, const char *format,...)
Log debug message for specific time.
virtual void log_debug(const char *component, const char *format,...)
Log debug message.
virtual void vtlog_debug(struct timeval *t, const char *component, const char *format, va_list va)
Log debug message for specific time.
virtual void tlog_warn(struct timeval *t, const char *component, const char *format,...)
Log warning message for specific time.
virtual void log_info(const char *component, const char *format,...)
Log informational message.
std::list< CacheEntry > & get_messages()
Get messages.
void clear()
Clear messages.
unsigned int size() const
Get maximum number of log entries in cache.
virtual void vtlog_info(struct timeval *t, const char *component, const char *format, va_list va)
Log informational message for specific time.
virtual void vlog_error(const char *component, const char *format, va_list va)
Log error message.
void lock()
Lock cache logger, no new messages can be added.
virtual void log_warn(const char *component, const char *format,...)
Log warning message.
void set_size(unsigned int new_size)
Set maximum number of log entries in cache.
virtual void vlog_debug(const char *component, const char *format, va_list va)
Log debug message.
void unlock()
Unlock cache logger.
virtual void tlog_info(struct timeval *t, const char *component, const char *format,...)
Log informational message for specific time.
CacheLogger(unsigned int num_entries=20, LogLevel log_level=LL_DEBUG)
Constructor.
virtual void vlog_warn(const char *component, const char *format, va_list va)
Log warning message.
virtual ~CacheLogger()
Destructor.
virtual void log_error(const char *component, const char *format,...)
Log error message.
virtual void vtlog_warn(struct timeval *t, const char *component, const char *format, va_list va)
Log warning message for specific time.
virtual void vlog_info(const char *component, const char *format, va_list va)
Log informational message.
virtual void tlog_error(struct timeval *t, const char *component, const char *format,...)
Log error message for specific time.
Base class for exceptions in Fawkes.
@ LL_DEBUG
debug output, relevant only when tracking down problems
LogLevel log_level
Minimum log level.
Mutex mutual exclusion lock.
Fawkes library namespace.
std::string timestr
Time encoded as string.
std::string component
component
LogLevel log_level
log level
std::string message
Message.