---
name: "log4tango::Appender"
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::Appender"
---

# log4tango::Appender(3)

## NAME

log4tango::Appender

## SYNOPSIS

`#include <Appender.hh>`

Inherited by **log4tango::LayoutAppender**.

### Public Member Functions

virtual **~Appender** ()\
 Destructor for **Appender**.  int **append** (const **LoggingEvent** &event)\
 Log in **Appender** specific way.  virtual bool **reopen** (void)\
 Reopens the output destination of this **Appender**, e.g.  virtual void **close** (void)=0\
 Release any resources allocated within the appender such as file handles, network connections, etc.  virtual bool **requires\_layout** (void) const =0\
 Check if the appender uses a layout.  virtual void **set\_layout** (**Layout** \*layout=0)=0\
 Change the layout.  const std::string & **get\_name** (void) const\
 Returns this appender name.  virtual bool **is\_valid** (void) const\
 Check if the appender is valid (for instance the underlying connection is ok) This default implementation always return true.

### Protected Member Functions

**Appender** (const std::string &name)\
 Constructor for **Appender**.  virtual void **level\_changed** (**Level::Value** new\_level)\
 Inform an appender that its **Logger**'s logging level has changed.  virtual int **\_append** (const **LoggingEvent** &event)=0\
 Log in **Appender** specific way.

### Friends

class **Logger**\

## Constructor & Destructor Documentation

### log4tango::Appender::Appender (const std::string & name)` [protected]`

Constructor for **Appender**. Will only be used in getAppender() (and in derived classes of course).

**Parameters**

*name* The name of this **Appender**.

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

Destructor for **Appender**.

## Member Function Documentation

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

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

**Parameters**

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

Implemented in **log4tango::FileAppender**, **log4tango::OstreamAppender**, and **log4tango::RollingFileAppender**.

### int log4tango::Appender::append (const LoggingEvent & event)` [inline]`

Log in **Appender** specific way. Returns -1 on error, 0 otherwise.

**Parameters**

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

### virtual void log4tango::Appender::close (void)` [pure virtual]`

Release any resources allocated within the appender such as file handles, network connections, etc.

Implemented in **log4tango::OstreamAppender**, and **log4tango::FileAppender**.

### const std::string & log4tango::Appender::get\_name (void) const` [inline]`

Returns this appender name.

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

Check if the appender is valid (for instance the underlying connection is ok) This default implementation always return true. Overload to define your own behaviour.

**Returns**

true if the appender is valid, false otherwise.

Reimplemented in **log4tango::FileAppender**.

### void log4tango::Appender::level\_changed (Level::Value new\_level)` [protected]`, ` [virtual]`

Inform an appender that its **Logger**'s logging level has changed. The default implementation does nothing.

**Parameters**

*new\_level* The new **Logger**'s level.

### bool log4tango::Appender::reopen (void)` [virtual]`

Reopens the output destination of this **Appender**, e.g. the logfile or TCP socket.

**Returns**

false if an error occurred during reopening, true otherwise.

Reimplemented in **log4tango::OstreamAppender**, and **log4tango::FileAppender**.

### virtual bool log4tango::Appender::requires\_layout (void) const` [pure virtual]`

Check if the appender uses a layout.

**Returns**

true if the appender implementation requires a layout.

Implemented in **log4tango::LayoutAppender**.

### virtual void log4tango::Appender::set\_layout (Layout \* layout = `0`)` [pure virtual]`

Change the layout.

Implemented in **log4tango::LayoutAppender**.

## Friends And Related Function Documentation

### friend class Logger` [friend]`

## Author

Generated automatically by Doxygen for log4tango from the source code.
