Library: Foundation
Package: Logging
Header: Poco/LoggingFactory.h
An extensible factory for channels and formatters.
The following channel classes are pre-registered:
The following formatter classes are pre-registered:
Member Functions: createChannel, createFormatter, defaultFactory, registerChannelClass, registerFormatterClass
typedef AbstractInstantiator < Channel > ChannelInstantiator;
typedef AbstractInstantiator < Formatter > FormatterFactory;
Creates the LoggingFactory.
Automatically registers class factories for the built-in channel and formatter classes.
~LoggingFactory();
Destroys the LoggingFactory.
Channel * 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.
Formatter * 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.
static LoggingFactory & defaultFactory();
Returns a reference to the default LoggingFactory.
void registerChannelClass(
const std::string & className,
ChannelInstantiator * pFactory
);
Registers a channel class with the LoggingFactory.
void registerFormatterClass(
const std::string & className,
FormatterFactory * pFactory
);
Registers a formatter class with the LoggingFactory.