class Poco::LoggingFactory
Overview
An extensible factory for channels and formatters. Moreā¦
#include <LoggingFactory.h> class LoggingFactory { public: // typedefs typedef AbstractInstantiator<Channel> ChannelInstantiator; typedef AbstractInstantiator<Formatter> FormatterFactory; // methods void registerChannelClass( const std::string& className, ChannelInstantiator* pFactory ); void registerFormatterClass( const std::string& className, FormatterFactory* pFactory ); Channel* createChannel(const std::string& className) const; Formatter* createFormatter(const std::string& className) const; static LoggingFactory& defaultFactory(); };
Detailed Documentation
An extensible factory for channels and formatters.
The following channel classes are pre-registered:
- AsyncChannel - ConsoleChannel - EventLogChannel (Windows platforms only) - FileChannel - FormattingChannel - NullChannel - OpcomChannel (OpenVMS only) - SplitterChannel - SyslogChannel (Unix platforms only)
The following formatter classes are pre-registered:
- PatternFormatter
Methods
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.
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.