Poco

class LoggingFactory

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

Description

An extensible factory for channels and formatters.

The following channel classes are pre-registered:

The following formatter classes are pre-registered:

Member Summary

Member Functions: createChannel, createFormatter, defaultFactory, registerChannelClass, registerFormatterClass

Types

ChannelInstantiator

typedef AbstractInstantiator < Channel > ChannelInstantiator;

FormatterFactory

typedef AbstractInstantiator < Formatter > FormatterFactory;

Constructors

LoggingFactory

LoggingFactory();

Creates the LoggingFactory.

Automatically registers class factories for the built-in channel and formatter classes.

Destructor

~LoggingFactory

~LoggingFactory();

Destroys the LoggingFactory.

Member Functions

createChannel

Channel::Ptr createChannel(
    const std::string & className
) const;

Creates a new Channel instance from specified class.

Throws a NotFoundException if the specified channel class has not been registered.

createFormatter

Formatter::Ptr createFormatter(
    const std::string & className
) const;

Creates a new Formatter instance from specified class.

Throws a NotFoundException if the specified formatter class has not been registered.

defaultFactory static

static LoggingFactory & defaultFactory();

Returns a reference to the default LoggingFactory.

registerChannelClass

void registerChannelClass(
    const std::string & className,
    ChannelInstantiator * pFactory
);

Registers a channel class with the LoggingFactory.

registerFormatterClass

void registerFormatterClass(
    const std::string & className,
    FormatterFactory * pFactory
);

Registers a formatter class with the LoggingFactory.