Library: Foundation
Package: Logging
Header: Poco/LoggingFactory.h
Description
An extensible factory for channels and formatters.
The following channel classes are pre-registered:
- AsyncChannel
- ConsoleChannel
- EventLogChannel (Windows platforms only)
- FileChannel
- FormattingChannel
- NullChannel
- SplitterChannel
- SyslogChannel (Unix platforms only)
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
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 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.