00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef _LOG4CPP_STRINGQUEUEAPPENDER_HH
00011
#define _LOG4CPP_STRINGQUEUEAPPENDER_HH
00012
00013
#include <log4cpp/Portability.hh>
00014
#include <string>
00015
#include <queue>
00016
#include <log4cpp/LayoutAppender.hh>
00017
00018
namespace log4cpp {
00019
00026 class LOG4CPP_EXPORT StringQueueAppender :
public LayoutAppender {
00027
public:
00028
00029 StringQueueAppender(
const std::string& name);
00030
virtual ~StringQueueAppender();
00031
00032
virtual bool reopen();
00033
virtual void close();
00034
00040
virtual size_t queueSize()
const;
00041
00046
virtual std::queue<std::string>& getQueue();
00047
00052
virtual const std::queue<std::string>& getQueue()
const;
00053
00058
virtual std::string popMessage();
00059
00060
protected:
00061
00066
virtual void _append(
const LoggingEvent& event);
00067
00068 std::queue<std::string> _queue;
00069 };
00070 }
00071
00072
#endif // _LOG4CPP_STRINGQUEUEAPPENDER_HH