00001
00002
00003
00004
00005
00006
00007
#ifndef _LOG4CPP_ROLLINGFILEAPPENDER_HH
00008
#define _LOG4CPP_ROLLINGFILEAPPENDER_HH
00009
00010
#include <log4cpp/Portability.hh>
00011
#include <log4cpp/FileAppender.hh>
00012
#include <string>
00013
#include <stdarg.h>
00014
00015
namespace log4cpp {
00016
00022 class LOG4CPP_EXPORT RollingFileAppender :
public FileAppender {
00023
public:
00024 RollingFileAppender(
const std::string& name,
00025
const std::string& fileName,
00026 size_t maxFileSize = 10*1024*1024,
00027
unsigned int maxBackupIndex = 1,
00028
bool append =
true,
00029 mode_t mode = 00644);
00030
00031
virtual void setMaxBackupIndex(
unsigned int maxBackups);
00032
virtual unsigned int getMaxBackupIndex()
const;
00033
virtual void setMaximumFileSize(size_t maxFileSize);
00034
virtual size_t getMaxFileSize()
const;
00035
00036
virtual void rollOver();
00037
00038
protected:
00039
virtual void _append(
const LoggingEvent& event);
00040
00041 unsigned int _maxBackupIndex;
00042 size_t _maxFileSize;
00043 };
00044 }
00045
00046
#endif // _LOG4CPP_ROLLINGFILEAPPENDER_HH