Fawkes API  Fawkes Development Version
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fawkes::LoggerFactory Class Reference

Logger factory. More...

#include <>>

Static Public Member Functions

static Loggerinstance (const char *type, const char *as)
 Get logger instance. More...
 
static MultiLoggermultilogger_instance (const char *as)
 Create MultiLogger instance. More...
 
template<class L >
static L * instance (const char *type, const char *as)
 Get typed instance of logger. More...
 

Detailed Description

Logger factory.

This logging factory provides access to all loggers in a unified way. You just supply a logger argument string and depending on the logger type an instance of the desired logger is returned or otherwise an exception is thrown. See instance() for a list of supported logger types.

Author
Tim Niemueller

Definition at line 44 of file factory.h.

Member Function Documentation

Logger * fawkes::LoggerFactory::instance ( const char *  type,
const char *  as 
)
static

Get logger instance.

Get an instance of a logger of the given type. The argument string is used for logger arguments. Supported logger types:

Definition at line 78 of file factory.cpp.

Referenced by instance(), and multilogger_instance().

template<class L >
L * fawkes::LoggerFactory::instance ( const char *  type,
const char *  as 
)
static

Get typed instance of logger.

Creates a new instance and converts it to the requested type. If the type does not match the requested logger an exception is thrown.

Parameters
typelogger type
aslogger argument string
Returns
typed logger instance
Exceptions
TypeMismatchExceptionthrown, if requested logger does not match requested type.

Definition at line 66 of file factory.h.

References instance().

MultiLogger * fawkes::LoggerFactory::multilogger_instance ( const char *  as)
static

Create MultiLogger instance.

This creates a multi logger instance based on the supplied argument string. The argument string is of the form

ltype:largs[;ltype2:largs2[;...]]

So it is a list of logger type/argument tuples separated by columns concatenated to one list with exclamation marks. The list is not pre-processed, so if you mention a logger twice this logger is added twice.

Parameters
aslogger argument string
Returns
multi logger instance with requested loggers
Exceptions
UnknownLoggerTypeExceptionthrown if any of the loggers was unknown.

Definition at line 121 of file factory.cpp.

References fawkes::MultiLogger::add_logger(), fawkes::Exception::append(), and instance().


The documentation for this class was generated from the following files: