00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 #ifndef _LOG4CPP_LAYOUTAPPENDER_HH
00011 #define _LOG4CPP_LAYOUTAPPENDER_HH
00012 
00013 #include <string>
00014 #include <log4cpp/Portability.hh>
00015 #include <log4cpp/AppenderSkeleton.hh>
00016 #include <log4cpp/BasicLayout.hh>
00017 
00018 namespace log4cpp {
00019 
00024     class LOG4CPP_EXPORT LayoutAppender : public AppenderSkeleton {
00025         public:
00026 
00027         typedef BasicLayout DefaultLayoutType;
00028 
00029         LayoutAppender(const std::string& name);
00030         virtual ~LayoutAppender();
00031         
00038         virtual bool requiresLayout() const;
00039         virtual void setLayout(Layout* layout = NULL);
00040 
00041         protected:
00047         Layout& _getLayout();
00048 
00049         private:
00050         Layout* _layout;
00051     };
00052 }
00053 
00054 #endif // _LOG4CPP_LAYOUTAPPENDER_HH
00055