log4cpp  1.1.3
AppenderSkeleton.hh
Go to the documentation of this file.
1 /*
2  * AppenderSkeleton.hh
3  *
4  * Copyright 2001, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
5  * Copyright 2001, Bastiaan Bakker. All rights reserved.
6  *
7  * See the COPYING file for the terms of usage and distribution.
8  */
9 
10 #ifndef _LOG4CPP_APPENDERSKELETON_HH
11 #define _LOG4CPP_APPENDERSKELETON_HH
12 
13 #include <log4cpp/Portability.hh>
14 #include <log4cpp/Appender.hh>
15 #include <log4cpp/Filter.hh>
16 
17 namespace log4cpp {
18 
25  protected:
31  AppenderSkeleton(const std::string& name);
32 
33  public:
37  virtual ~AppenderSkeleton();
38 
43  virtual void doAppend(const LoggingEvent& event);
44 
50  virtual bool reopen();
51 
56  virtual void close() = 0;
57 
63  virtual bool requiresLayout() const = 0;
64 
69  virtual void setLayout(Layout* layout) = 0;
70 
77  virtual void setThreshold(Priority::Value priority);
78 
83  virtual Priority::Value getThreshold();
84 
88  virtual void setFilter(Filter* filter);
89 
94  virtual Filter* getFilter();
95 
96  protected:
102  virtual void _append(const LoggingEvent& event) = 0;
103 
104 
105  private:
106  Priority::Value _threshold;
107  Filter* _filter;
108  };
109 }
110 
111 #endif // _LOG4CPP_APPENDERSKELETON_HH
#define LOG4CPP_EXPORT
Definition: Export.hh:26
AppenderSkeleton is a helper class, simplifying implementation of Appenders: it already takes care of...
Definition: AppenderSkeleton.hh:24
virtual void setLayout(Layout *layout)=0
Set the Layout for this appender.
virtual void _append(const LoggingEvent &event)=0
Log in Appender specific way.
virtual bool requiresLayout() const =0
Check if the appender uses a layout.
virtual void close()=0
Release any resources allocated within the appender such as file handles, network connections,...
Implement this interface for your own strategies for printing log statements.
Definition: Appender.hh:34
Users should extend this class to implement customized logging event filtering.
Definition: Filter.hh:49
Extend this abstract class to create your own log layout format.
Definition: Layout.hh:22
int Value
The type of Priority Values.
Definition: Priority.hh:85
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