123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- * RollingFileAppender.hh
- *
- * See the COPYING file for the terms of usage and distribution.
- */
- #ifndef _LOG4CPP_ROLLINGFILEAPPENDER_HH
- #define _LOG4CPP_ROLLINGFILEAPPENDER_HH
- #include <log4cpp/Portability.hh>
- #include <log4cpp/FileAppender.hh>
- #include <string>
- #include <stdarg.h>
- LOG4CPP_NS_BEGIN
- /**
- RollingFileAppender is a FileAppender that rolls over the logfile once
- it has reached a certain size limit.
- @since 0.3.1
- **/
- class LOG4CPP_EXPORT RollingFileAppender : public FileAppender {
- public:
- RollingFileAppender(const std::string& name,
- const std::string& fileName,
- size_t maxFileSize = 10 * 1024 * 1024,
- unsigned int maxBackupIndex = 1,
- bool append = true,
- mode_t mode = 00644);
- virtual void setMaxBackupIndex(unsigned int maxBackups);
- virtual unsigned int getMaxBackupIndex() const;
- virtual void setMaximumFileSize(size_t maxFileSize);
- virtual size_t getMaxFileSize() const;
- virtual void rollOver();
- protected:
- virtual void _append(const LoggingEvent& event);
- unsigned int _maxBackupIndex;
- unsigned short int _maxBackupIndexWidth; // keep constant index width by zeroing leading positions
- size_t _maxFileSize;
- private:
- // suppress assignment operator
- RollingFileAppender & operator=(const RollingFileAppender &);
- };
- LOG4CPP_NS_END
- #endif // _LOG4CPP_ROLLINGFILEAPPENDER_HH
|