00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _LOG4CPP_FIXEDCONTEXTCATEGORY_HH
00011 #define _LOG4CPP_FIXEDCONTEXTCATEGORY_HH
00012
00013 #include <log4cpp/Portability.hh>
00014 #include <log4cpp/Category.hh>
00015
00016 namespace log4cpp {
00017
00029 class LOG4CPP_EXPORT FixedContextCategory : public Category {
00030
00031 public:
00032
00040 FixedContextCategory(const std::string& name,
00041 const std::string& context = "");
00042
00043
00047 virtual ~FixedContextCategory();
00048
00053 virtual void setContext(const std::string& context);
00054
00059 virtual std::string getContext() const;
00060
00065 virtual Priority::Value getPriority() const throw();
00066
00075 virtual Priority::Value getChainedPriority() const throw();
00076
00080 virtual void addAppender(Appender* appender) throw();
00081
00085 virtual void addAppender(Appender& appender);
00086
00092 virtual Appender* getAppender() const;
00093
00100 virtual Appender* getAppender(const std::string& name) const;
00101
00107 virtual AppenderSet getAllAppenders() const;
00108
00113 virtual void removeAllAppenders();
00114
00119 virtual bool ownsAppender() const throw();
00120
00125 virtual bool ownsAppender(Appender* appender)
00126 const throw();
00127
00139 virtual void callAppenders(const LoggingEvent& event) throw();
00140
00144 virtual void setAdditivity(bool additivity);
00145
00149 virtual bool getAdditivity() const throw();
00150
00151 protected:
00152
00158 virtual void _logUnconditionally2(Priority::Value priority,
00159 const std::string& message) throw();
00160
00161 private:
00162
00166 Category& _delegate;
00167
00169 std::string _context;
00170
00171 };
00172
00173 }
00174 #endif // _LOG4CPP_FIXEDCONTEXTCATEGORY_HH