# Poco

# class Formatter

Library: Foundation
Package: Logging
Header: Poco/Formatter.h

## Description

The base class for all Formatter classes.

A formatter basically takes a Message object and formats it into a string. How the formatting is exactly done is up to the implementation of Formatter. For example, a very simple implementation might simply take the message's Text (see Message::getText()). A useful implementation should at least take the Message's Time, Priority and Text fields and put them into a string.

The Formatter class supports the Configurable interface, so the behaviour of certain formatters is configurable.

Trivial implementations of of getProperty() and setProperty() are provided.

Subclasses must at least provide a format() method.

## Inheritance

Direct Base Classes: Configurable, RefCountedObject

All Base Classes: Configurable, RefCountedObject

Known Derived Classes: PatternFormatter

## Member Summary

Member Functions: format, getProperty, setProperty

Inherited Functions: duplicate, getProperty, referenceCount, release, setProperty

## Constructors

### Formatter

Formatter();

Creates the formatter.

## Destructor

### ~Formatter

virtual ~Formatter();

Destroys the formatter.

## Member Functions

### format

virtual void format(
const Message & msg,
std::string & text
) = 0;

Formats the message and places the result in text. Subclasses must override this method.

### getProperty

std::string getProperty(
const std::string & name
) const;

Throws a PropertyNotSupportedException.

See also: Poco::Configurable::getProperty()

### setProperty

void setProperty(
const std::string & name,
const std::string & value
);

Throws a PropertyNotSupportedException.

See also: Poco::Configurable::setProperty()