log4shib 2.0.1
Loading...
Searching...
No Matches
log4shib::FileAppender Class Reference

#include <FileAppender.hh>

Inheritance diagram for log4shib::FileAppender:
log4shib::LayoutAppender log4shib::AppenderSkeleton log4shib::Appender log4shib::RollingFileAppender

Public Member Functions

 FileAppender (const std::string &name, const std::string &fileName, bool append=true, mode_t mode=00644)
 Constructs a FileAppender.
 
 FileAppender (const std::string &name, int fd)
 Constructs a FileAppender to an already open file descriptor.
 
virtual ~FileAppender ()
 
virtual bool reopen ()
 Reopens the logfile.
 
virtual void close ()
 Closes the logfile.
 
virtual void setAppend (bool append)
 Sets the append vs truncate flag.
 
virtual bool getAppend () const
 Gets the value of the 'append' option.
 
virtual void setMode (mode_t mode)
 Sets the file open mode.
 
virtual mode_t getMode () const
 Gets the file open mode.
 
- Public Member Functions inherited from log4shib::LayoutAppender
 LayoutAppender (const std::string &name)
 
virtual ~LayoutAppender ()
 
virtual bool requiresLayout () const
 Check if the appender requires a layout.
 
virtual void setLayout (Layout *layout=NULL)
 Set the Layout for this appender.
 
- Public Member Functions inherited from log4shib::AppenderSkeleton
virtual ~AppenderSkeleton ()
 Destructor for AppenderSkeleton.
 
virtual void doAppend (const LoggingEvent &event)
 Log in Appender specific way.
 
virtual void setThreshold (Priority::Value priority)
 Set the threshold priority of this Appender.
 
virtual Priority::Value getThreshold ()
 Get the threshold priority of this Appender.
 
virtual void setFilter (Filter *filter)
 Set a Filter for this appender.
 
virtual FiltergetFilter ()
 Get the Filter for this appender.
 
- Public Member Functions inherited from log4shib::Appender
virtual ~Appender ()
 Destructor for Appender.
 
const std::string & getName () const
 Get the name of this appender.
 

Protected Member Functions

virtual void _append (const LoggingEvent &event)
 Log in Appender specific way.
 
- Protected Member Functions inherited from log4shib::LayoutAppender
Layout_getLayout ()
 Return the layout of the appender.
 
- Protected Member Functions inherited from log4shib::AppenderSkeleton
 AppenderSkeleton (const std::string &name)
 Constructor for AppenderSkeleton.
 
- Protected Member Functions inherited from log4shib::Appender
 Appender (const std::string &name)
 Constructor for Appender.
 

Protected Attributes

const std::string _fileName
 
int _fd
 
int _flags
 
mode_t _mode
 

Additional Inherited Members

- Public Types inherited from log4shib::LayoutAppender
typedef BasicLayout DefaultLayoutType
 
- Static Public Member Functions inherited from log4shib::Appender
static AppendergetAppender (const std::string &name)
 Get a pointer to an exitsing Appender.
 
static bool reopenAll ()
 Call reopen() on all existing Appenders.
 
static void closeAll ()
 Call reopen() on all existing Appenders.
 

Constructor & Destructor Documentation

◆ FileAppender() [1/2]

log4shib::FileAppender::FileAppender ( const std::string & name,
const std::string & fileName,
bool append = true,
mode_t mode = 00644 )

Constructs a FileAppender.

Parameters
namethe name of the Appender.
fileNamethe name of the file to which the Appender has to log.
appendwhether the Appender has to truncate the file or just append to it if it already exists. Defaults to 'true'.
modefile mode to open the logfile with. Defaults to 00644.

◆ FileAppender() [2/2]

log4shib::FileAppender::FileAppender ( const std::string & name,
int fd )

Constructs a FileAppender to an already open file descriptor.

Parameters
namethe name of the Appender.
fdthe file descriptor to which the Appender has to log.

◆ ~FileAppender()

log4shib::FileAppender::~FileAppender ( )
virtual

Member Function Documentation

◆ _append()

void log4shib::FileAppender::_append ( const LoggingEvent & event)
protectedvirtual

Log in Appender specific way.

Subclasses of Appender should implement this method to perform actual logging.

Parameters
eventThe LoggingEvent to log.

Implements log4shib::AppenderSkeleton.

Reimplemented in log4shib::RollingFileAppender.

◆ close()

void log4shib::FileAppender::close ( )
virtual

Closes the logfile.

Implements log4shib::AppenderSkeleton.

◆ getAppend()

bool log4shib::FileAppender::getAppend ( ) const
virtual

Gets the value of the 'append' option.

◆ getMode()

mode_t log4shib::FileAppender::getMode ( ) const
virtual

Gets the file open mode.

◆ reopen()

bool log4shib::FileAppender::reopen ( )
virtual

Reopens the logfile.

This can be useful for logfiles that are rotated externally, e.g. by logrotate. This method is a NOOP for FileAppenders that have been constructed with a file descriptor.

Returns
true if the reopen succeeded.

Reimplemented from log4shib::AppenderSkeleton.

◆ setAppend()

void log4shib::FileAppender::setAppend ( bool append)
virtual

Sets the append vs truncate flag.

NB. currently the FileAppender opens the logfile in the constructor. Therefore this method is too late to influence the first file opening. We'll need something similar to log4j's activateOptions().

Parameters
appendfalse to truncate, true to append

◆ setMode()

void log4shib::FileAppender::setMode ( mode_t mode)
virtual

Sets the file open mode.

Member Data Documentation

◆ _fd

int log4shib::FileAppender::_fd
protected

◆ _fileName

const std::string log4shib::FileAppender::_fileName
protected

◆ _flags

int log4shib::FileAppender::_flags
protected

◆ _mode

mode_t log4shib::FileAppender::_mode
protected

The documentation for this class was generated from the following files: