00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _LOG4TANGO_ROLLINGFILEAPPENDER_H
00029 #define _LOG4TANGO_ROLLINGFILEAPPENDER_H
00030
00031 #include <log4tango/Portability.hh>
00032 #include <log4tango/FileAppender.hh>
00033
00034 namespace log4tango {
00035
00036
00037
00038
00039 class LOG4TANGO_EXPORT RollingFileAppender : public FileAppender
00040 {
00041 public:
00042
00043 RollingFileAppender(const std::string& name,
00044 const std::string& file_name,
00045 size_t max_fs = 10*1024*1024,
00046 unsigned int max_bi = 1,
00047 bool append = true,
00048 mode_t mode = 00644);
00049
00050 virtual void set_max_backup_index(unsigned int maxBackups);
00051
00052 virtual unsigned int get_max_backup_index() const;
00053
00054 virtual void set_maximum_file_size (size_t max_fs);
00055
00056 virtual size_t get_max_file_size() const;
00057
00058 virtual void roll_over();
00059
00060 protected:
00061
00062 virtual int _append (const LoggingEvent& event);
00063
00064 unsigned int _max_backup_index;
00065
00066 size_t _max_file_size;
00067 };
00068
00069 }
00070
00071 #endif // _LOG4TANGO_ROLLINGFILEAPPENDER_H