00001 /* 00002 * FixedContextCategory.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_FIXEDCONTEXTCATEGORY_HH 00011 #define _LOG4CPP_FIXEDCONTEXTCATEGORY_HH 00012 00013 #include <log4cpp/Portability.hh> 00014 #include <log4cpp/Category.hh> 00015 00016 LOG4CPP_NS_BEGIN 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 LOG4CPP_NS_END 00174 #endif // _LOG4CPP_FIXEDCONTEXTCATEGORY_HH