log4cpp 1.1
Loading...
Searching...
No Matches
BufferingAppender.hh
Go to the documentation of this file.
1/*
2 * Copyright 2002, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
3 * Copyright 2002, Bastiaan Bakker. All rights reserved.
4 *
5 * See the COPYING file for the terms of usage and distribution.
6 */
7
8#if !defined(h_ebd0ee89_622d_4af1_9a9d_d0e057debe86)
9#define h_ebd0ee89_622d_4af1_9a9d_d0e057debe86
10
13#include <list>
14#include <memory>
15
16namespace log4cpp
17{
19 {
20 public:
21 BufferingAppender(const std::string name, unsigned long max_size, std::auto_ptr<Appender> sink,
22 std::auto_ptr<TriggeringEventEvaluator> evaluator);
23
24 virtual void close() { sink_->close(); }
25
26 bool getLossy() const { return lossy_; }
27 void setLossy(bool lossy) { lossy_ = lossy; }
28
29 protected:
30 virtual void _append(const LoggingEvent& event);
31
32 private:
33 typedef std::list<LoggingEvent> queue_t;
34
35 queue_t queue_;
36 unsigned long max_size_;
37 std::auto_ptr<Appender> sink_;
38 std::auto_ptr<TriggeringEventEvaluator> evaluator_;
39 bool lossy_;
40
41 void dump();
42 };
43}
44
45#endif // h_ebd0ee89_622d_4af1_9a9d_d0e057debe86
#define LOG4CPP_EXPORT
Definition: Export.hh:26
Definition: BufferingAppender.hh:19
bool getLossy() const
Definition: BufferingAppender.hh:26
void setLossy(bool lossy)
Definition: BufferingAppender.hh:27
virtual void close()
Release any resources allocated within the appender such as file handles, network connections,...
Definition: BufferingAppender.hh:24
LayoutAppender is a common superclass for all Appenders that require a Layout.
Definition: LayoutAppender.hh:24
The top level namespace for all 'Log for C++' types and classes.
Definition: AbortAppender.hh:16
The internal representation of logging events.
Definition: LoggingEvent.hh:32