00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _LOG4CPP_FILEAPPENDER_HH
00011 #define _LOG4CPP_FILEAPPENDER_HH
00012
00013 #include <log4cpp/Portability.hh>
00014 #include <log4cpp/LayoutAppender.hh>
00015 #include <string>
00016 #include <stdarg.h>
00017
00018 namespace log4cpp {
00019
00020 class LOG4CPP_EXPORT FileAppender : public LayoutAppender {
00021 public:
00022
00032 FileAppender(const std::string& name, const std::string& fileName,
00033 bool append = true, mode_t mode = 00644);
00034
00040 FileAppender(const std::string& name, int fd);
00041 virtual ~FileAppender();
00042
00050 virtual bool reopen();
00051
00055 virtual void close();
00056
00065 virtual void setAppend(bool append);
00066
00070 virtual bool getAppend() const;
00071
00075 virtual void setMode(mode_t mode);
00076
00080 virtual mode_t getMode() const;
00081
00082 protected:
00083 virtual void _append(const LoggingEvent& event);
00084
00085 const std::string _fileName;
00086 int _fd;
00087 int _flags;
00088 mode_t _mode;
00089 };
00090 }
00091
00092 #endif // _LOG4CPP_FILEAPPENDER_HH