00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef _LOG4CPP_APPENDERSKELETON_HH
00011
#define _LOG4CPP_APPENDERSKELETON_HH
00012
00013
#include <log4cpp/Portability.hh>
00014
#include <log4cpp/Appender.hh>
00015
#include <log4cpp/Filter.hh>
00016
00017
namespace log4cpp {
00018
00024 class LOG4CPP_EXPORT AppenderSkeleton :
public Appender {
00025
protected:
00031 AppenderSkeleton(
const std::string& name);
00032
00033
public:
00037
virtual ~AppenderSkeleton();
00038
00043
virtual void doAppend(
const LoggingEvent& event);
00044
00050
virtual bool reopen();
00051
00056
virtual void close() = 0;
00057
00063
virtual bool requiresLayout()
const = 0;
00064
00069
virtual void setLayout(
Layout* layout) = 0;
00070
00077
virtual void setThreshold(Priority::Value priority);
00078
00083
virtual Priority::Value getThreshold();
00084
00088
virtual void setFilter(
Filter* filter);
00089
00094
virtual Filter* getFilter();
00095
00096
protected:
00102
virtual void _append(
const LoggingEvent& event) = 0;
00103
00104
00105
private:
00106 Priority::Value _threshold;
00107
Filter* _filter;
00108 };
00109 }
00110
00111
#endif // _LOG4CPP_APPENDERSKELETON_HH