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. It also supports reference counting based garbage collection.

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: JSONFormatter, PatternFormatter

Member Summary

Member Functions: format, getProperty, setProperty

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

Types Aliases

Ptr

using Ptr = AutoPtr < Formatter >;

Constructors

Formatter

Formatter();

Creates the formatter.

Destructor

~Formatter virtual

virtual ~Formatter();

Destroys the formatter.

Member Functions

format virtual

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 virtual

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

setProperty virtual

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