#include <loggingACSRemoteAppender.h>
Public Member Functions | |
RemoteLoggerBuffer (unsigned long cacheSize, unsigned int autoFlushTimeoutSec, Logging::AcsLogService_ptr centralizedLogger, int maxLogsPerSecond) | |
void | append (Logging::XmlLogRecord &log) |
~RemoteLoggerBuffer () | |
Private Member Functions | |
void | sendLog (Logging::XmlLogRecord &log) |
void | sendLog (Logging::XmlLogRecordSeq &logs) |
void | flushCache () |
void | svc () |
Static Private Member Functions | |
static void * | worker (void *arg) |
Private Attributes | |
unsigned int | _cacheSize |
unsigned int | _flushTimeout |
Logging::AcsLogService_ptr | _logger |
std::deque < Logging::XmlLogRecord > * | _cache |
ACE_Thread_Mutex | _cacheMutex |
logging::LogThrottle * | _logThrottle |
pthread_t | thread |
ACE_SYNCH_MUTEX | _workCondThreadMutex |
ACE_SYNCH_CONDITION | _workCond |
bool | _stopThread |
Thread safe buffer
logging::RemoteLoggerBuffer::RemoteLoggerBuffer | ( | unsigned long | cacheSize, | |
unsigned int | autoFlushTimeoutSec, | |||
Logging::AcsLogService_ptr | centralizedLogger, | |||
int | maxLogsPerSecond | |||
) |
logging::RemoteLoggerBuffer::~RemoteLoggerBuffer | ( | ) |
void logging::RemoteLoggerBuffer::append | ( | Logging::XmlLogRecord & | log | ) |
void logging::RemoteLoggerBuffer::flushCache | ( | ) | [private] |
void logging::RemoteLoggerBuffer::sendLog | ( | Logging::XmlLogRecord & | log | ) | [private] |
void logging::RemoteLoggerBuffer::sendLog | ( | Logging::XmlLogRecordSeq & | logs | ) | [private] |
void logging::RemoteLoggerBuffer::svc | ( | ) | [private] |
static void* logging::RemoteLoggerBuffer::worker | ( | void * | arg | ) | [static, private] |
std::deque<Logging::XmlLogRecord>* logging::RemoteLoggerBuffer::_cache [private] |
ACE_Thread_Mutex logging::RemoteLoggerBuffer::_cacheMutex [private] |
unsigned int logging::RemoteLoggerBuffer::_cacheSize [private] |
unsigned int logging::RemoteLoggerBuffer::_flushTimeout [private] |
Logging::AcsLogService_ptr logging::RemoteLoggerBuffer::_logger [private] |
bool logging::RemoteLoggerBuffer::_stopThread [private] |
ACE_SYNCH_CONDITION logging::RemoteLoggerBuffer::_workCond [private] |
ACE_SYNCH_MUTEX logging::RemoteLoggerBuffer::_workCondThreadMutex [private] |
pthread_t logging::RemoteLoggerBuffer::thread [private] |