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