Fawkes API  Fawkes Development Version
fawkes::LoggerFactory Class Reference

Logger factory. More...

#include <utils/logging/factory.h>

List of all members.

Static Public Member Functions

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

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

Member Function Documentation

L * 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 74 of file factory.cpp.

Referenced by multilogger_instance().

template<class L >
static 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.
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 115 of file factory.cpp.

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


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