log4cpp  1.1
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 
16 namespace 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
The top level namespace for all &#39;Log for C++&#39; types and classes.
Definition: AbortAppender.hh:16
The internal representation of logging events.
Definition: LoggingEvent.hh:32
Definition: BufferingAppender.hh:18
bool getLossy() const
Definition: BufferingAppender.hh:26
LayoutAppender is a common superclass for all Appenders that require a Layout.
Definition: LayoutAppender.hh:24
virtual void close()
Release any resources allocated within the appender such as file handles, network connections...
Definition: BufferingAppender.hh:24
void setLossy(bool lossy)
Definition: BufferingAppender.hh:27