---
name: "log4tango::FileAppender"
section: "3"
platform: "linux"
package: "liblog4tango-doc"
version: "9.3.4+dfsg1-2+deb12u1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/log4tango::FileAppender"
---

# log4tango::FileAppender(3)

## NAME

log4tango::FileAppender

## SYNOPSIS

`#include <FileAppender.hh>`

Inherits **log4tango::LayoutAppender**.

Inherited by **log4tango::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** ()\
 Destructor.  virtual bool **reopen** (void)\
 Reopens the logfile.  virtual void **close** (void)\
 Closes the logfile.  virtual bool **is\_valid** (void) const\
 Check if the appender is valid.  virtual void **set\_append** (bool **append**)\
 Sets the append vs truncate flag.  virtual bool **get\_append** (void) const\
 Gets the value of the 'append' option.  virtual void **set\_mode** (mode\_t mode)\
 Sets the file open mode.  virtual mode\_t **get\_mode** () const\
 Gets the file open mode.

### Protected Member Functions

virtual int **\_append** (const **LoggingEvent** &event)\
 Log in **Appender** specific way.

### Protected Attributes

const std::string **\_file\_name**\
 int **\_fd**\
 int **\_flags**\
 mode\_t **\_mode**\

### Additional Inherited Members

## Constructor & Destructor Documentation

### log4tango::FileAppender::FileAppender (const std::string & name, const std::string & fileName, bool append = `true`, mode\_t mode = `00644`)

Constructs a **FileAppender**.

**Parameters**

*name* the name of the **Appender**. \
 *fileName* the name of the file to which the **Appender** has to log. \
 *append* whether the **Appender** has to truncate the file or just append to it if it already exists. Defaults to 'true'. \
 *mode* file mode to open the logfile with. Defaults to 00644.

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

Constructs a **FileAppender** to an already open file descriptor.

**Parameters**

*name* the name of the **Appender**. \
 *fd* the file descriptor to which the **Appender** has to log.

### log4tango::FileAppender::~FileAppender ()` [virtual]`

Destructor.

## Member Function Documentation

### int log4tango::FileAppender::\_append (const LoggingEvent & event)` [protected]`, ` [virtual]`

Log in **Appender** specific way. Subclasses of **Appender** should implement this method to perform actual logging.

**Parameters**

*event* The **LoggingEvent** to log.

Implements **log4tango::Appender**.

Reimplemented in **log4tango::RollingFileAppender**.

### void log4tango::FileAppender::close (void)` [virtual]`

Closes the logfile.

Implements **log4tango::Appender**.

### bool log4tango::FileAppender::get\_append (void) const` [virtual]`

Gets the value of the 'append' option.

### mode\_t log4tango::FileAppender::get\_mode (void) const` [virtual]`

Gets the file open mode.

### bool log4tango::FileAppender::is\_valid (void) const` [virtual]`

Check if the appender is valid.

**Returns**

true if the appender is valid, false otherwise.

Reimplemented from **log4tango::Appender**.

### bool log4tango::FileAppender::reopen (void)` [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 **log4tango::Appender**.

### void log4tango::FileAppender::set\_append (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**

*append* false to truncate, true to append

### void log4tango::FileAppender::set\_mode (mode\_t mode)` [virtual]`

Sets the file open mode.

## Member Data Documentation

### int log4tango::FileAppender::\_fd` [protected]`

### const std::string log4tango::FileAppender::\_file\_name` [protected]`

### int log4tango::FileAppender::\_flags` [protected]`

### mode\_t log4tango::FileAppender::\_mode` [protected]`

## Author

Generated automatically by Doxygen for log4tango from the source code.
