# AppenderSkeleton.hh

Go to the documentation of this file.

    00001 /*
    00002  * AppenderSkeleton.hh
    00003  *
    00004  * Copyright 2001, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
    00005  * Copyright 2001, Bastiaan Bakker. All rights reserved.
    00006  *
    00007  * See the COPYING file for the terms of usage and distribution.
    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