00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _LOG4CPP_APPENDERSKELETON_HH
00011 #define _LOG4CPP_APPENDERSKELETON_HH
00012
00013
00014 #include "log4cpp/Export.hh"
00015 #include "log4cpp/OstringStream.hh"
00016 #include "log4cpp/Appender.hh"
00017
00018 namespace log4cpp {
00019
00025 class LOG4CPP_EXPORT AppenderSkeleton : public Appender {
00026 protected:
00032 AppenderSkeleton(const std::string& name);
00033
00034 public:
00038 virtual ~AppenderSkeleton();
00039
00044 virtual void doAppend(const LoggingEvent& event);
00045
00051 virtual bool reopen();
00052
00057 virtual void close() = 0;
00058
00064 virtual bool requiresLayout() const = 0;
00065
00070 virtual void setLayout(Layout* layout) = 0;
00071
00078 virtual void setThreshold(Priority::Value priority);
00079
00084 virtual Priority::Value getThreshold();
00085
00089 virtual void setFilter(Filter* filter);
00090
00095 virtual Filter* getFilter();
00096
00097 protected:
00103 virtual void _append(const LoggingEvent& event) = 0;
00104
00105
00106 private:
00107 Priority::Value _threshold;
00108 Filter* _filter;
00109 };
00110 }
00111
00112 #endif // _LOG4CPP_APPENDERSKELETON_HH