log4shib 2.0.0

StringQueueAppender.hh
Go to the documentation of this file.
1/*
2 * StringQueueAppender.hh
3 *
4 * Copyright 2000, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
5 * Copyright 2000, Bastiaan Bakker. All rights reserved.
6 *
7 * See the COPYING file for the terms of usage and distribution.
8 */
9
10#ifndef _LOG4SHIB_STRINGQUEUEAPPENDER_HH
11#define _LOG4SHIB_STRINGQUEUEAPPENDER_HH
12
13#include <log4shib/Portability.hh>
14#include <string>
15#include <queue>
16#include <log4shib/LayoutAppender.hh>
17
18 namespace log4shib {
19
26 class LOG4SHIB_EXPORT StringQueueAppender : public LayoutAppender {
27 public:
28
29 StringQueueAppender(const std::string& name);
30 virtual ~StringQueueAppender();
31
32 virtual bool reopen();
33 virtual void close();
34
40 virtual size_t queueSize() const;
41
46 virtual std::queue<std::string>& getQueue();
47
52 virtual const std::queue<std::string>& getQueue() const;
53
58 virtual std::string popMessage();
59
60 protected:
61
66 virtual void _append(const LoggingEvent& event);
67
68 std::queue<std::string> _queue;
69 };
70}
71
72#endif // _LOG4SHIB_STRINGQUEUEAPPENDER_HH
LOG4SHIB_EXPORT
#define LOG4SHIB_EXPORT
Definition: Export.hh:11
LayoutAppender.hh
Portability.hh
log4shib::LayoutAppender
LayoutAppender is a common superclass for all Appenders that require a Layout.
Definition: LayoutAppender.hh:24
log4shib::StringQueueAppender
This class puts log messages in an in-memory queue.
Definition: StringQueueAppender.hh:26
log4shib::StringQueueAppender::_queue
std::queue< std::string > _queue
Definition: StringQueueAppender.hh:68
log4shib
The top level namespace for all 'Log for C++' types and classes.
Definition: AbortAppender.hh:16
log4shib::LoggingEvent
The internal representation of logging events.
Definition: LoggingEvent.hh:32