00001 /* 00002 * GenerationalFileAppender.hh 00003 * 00004 * See the COPYING file for the terms of usage and distribution. 00005 */ 00006 00007 #ifndef _LOG4CPP_GENERATIONALFILEAPPENDER_HH 00008 #define _LOG4CPP_GENERATIONALFILEAPPENDER_HH 00009 00010 #include <log4cpp/Portability.hh> 00011 #include <log4cpp/FileAppender.hh> 00012 #include <string> 00013 #include <stdarg.h> 00014 00015 namespace log4cpp { 00016 00028 class LOG4CPP_EXPORT GenerationalFileAppender : public FileAppender { 00029 public: 00031 GenerationalFileAppender(const std::string& name, 00032 const std::string& fileName, 00033 bool append = true, 00034 mode_t mode = 00644); 00035 00042 virtual void advanceGeneration(); 00043 00044 protected: 00045 00047 std::string _originalFileName; 00049 unsigned int _generation; 00050 }; 00051 } 00052 00053 #endif // _LOG4CPP_GENERATIONALFILEAPPENDER_HH