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 ~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()