# Poco

# class Configurable

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

## Description

A simple interface that defines getProperty() and setProperty() methods.

This interface is implemented by Formatter and Channel and is used to configure arbitrary channels and formatters.

A property is basically a name-value pair. For simplicity, both names and values are strings. Every property controls a certain aspect of a Formatter or Channel. For example, the PatternFormatter's formatting pattern is set via a property.

NOTE: The following property names are use internally by the logging framework and must not be used by channels or formatters:

- class
- pattern (Channel)
- formatter (Channel)

## Inheritance

Known Derived Classes: Poco::Data::SQLChannel, AsyncChannel, Channel, ConsoleChannel, ColorConsoleChannel, EventChannel, EventLogChannel, FastLogger, FileChannel, Formatter, FormattingChannel, JSONFormatter, Logger, NullChannel, PatternFormatter, SimpleFileChannel, SplitterChannel, StreamChannel, SyslogChannel, WindowsConsoleChannel, WindowsColorConsoleChannel, Poco::Net::RemoteSyslogChannel, Poco::Net::RemoteSyslogListener, Poco::Net::SMTPChannel

## Member Summary

Member Functions: getProperty, setProperty

## Constructors

### Configurable

Configurable();

Creates the Configurable.

## Destructor

### ~Configurable

virtual ~Configurable();

Destroys the Configurable.

## Member Functions

### getProperty

virtual std::string getProperty(
const std::string & name
) const = 0;

Returns the value of the property with the given name. If a property with the given name is not supported, a PropertyNotSupportedException is thrown.

### setProperty

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

Sets the property with the given name to the given value. If a property with the given name is not supported, a PropertyNotSupportedException is thrown.