log4cplus  2.1.0
Classes | Namespaces | Macros | Typedefs | Functions
factory.h File Reference
#include <log4cplus/config.hxx>
#include <log4cplus/appender.h>
#include <log4cplus/layout.h>
#include <log4cplus/tstring.h>
#include <log4cplus/spi/filter.h>
#include <log4cplus/spi/objectregistry.h>
#include <memory>
#include <vector>
#include <locale>
Include dependency graph for factory.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  log4cplus::spi::BaseFactory
 This is the base class for all factories. More...
 
class  log4cplus::spi::AppenderFactory
 This abstract class defines the "Factory" interface to create "Appender" objects. More...
 
class  log4cplus::spi::LayoutFactory
 This abstract class defines the "Factory" interface to create "Layout" objects. More...
 
class  log4cplus::spi::FilterFactory
 This abstract class defines the "Factory" interface to create "Appender" objects. More...
 
class  log4cplus::spi::LocaleFactory
 This abstract class defines the "Factory" interface to create std::locale instances. More...
 
class  log4cplus::spi::FactoryRegistry< T >
 This template class is used as a "Factory Registry". More...
 
class  log4cplus::spi::LocalFactoryBase< ProductFactoryBase >
 
class  log4cplus::spi::FactoryTempl< LocalProduct, ProductFactoryBase >
 

Namespaces

 log4cplus
 
 log4cplus::spi
 

Macros

#define LOG4CPLUS_REG_PRODUCT(reg, productprefix, productname, productns, productfact)
 
#define LOG4CPLUS_REG_APPENDER(reg, appendername)
 
#define LOG4CPLUS_REG_LAYOUT(reg, layoutname)
 
#define LOG4CPLUS_REG_FILTER(reg, filtername)
 
#define LOG4CPLUS_REG_LOCALE(reg, name, factory)
 

Typedefs

typedef FactoryRegistry< AppenderFactory > log4cplus::spi::AppenderFactoryRegistry
 
typedef FactoryRegistry< LayoutFactory > log4cplus::spi::LayoutFactoryRegistry
 
typedef FactoryRegistry< FilterFactory > log4cplus::spi::FilterFactoryRegistry
 
typedef FactoryRegistry< LocaleFactory > log4cplus::spi::LocaleFactoryRegistry
 

Functions

LOG4CPLUS_EXPORT AppenderFactoryRegistry & log4cplus::spi::getAppenderFactoryRegistry ()
 Returns the "singleton" AppenderFactoryRegistry. More...
 
LOG4CPLUS_EXPORT LayoutFactoryRegistry & log4cplus::spi::getLayoutFactoryRegistry ()
 Returns the "singleton" LayoutFactoryRegistry. More...
 
LOG4CPLUS_EXPORT FilterFactoryRegistry & log4cplus::spi::getFilterFactoryRegistry ()
 Returns the "singleton" FilterFactoryRegistry. More...
 
LOG4CPLUS_EXPORT LocaleFactoryRegistry & log4cplus::spi::getLocaleFactoryRegistry ()
 Returns the "singleton" LocaleFactoryRegistry. More...
 

Macro Definition Documentation

◆ LOG4CPLUS_REG_APPENDER

#define LOG4CPLUS_REG_APPENDER (   reg,
  appendername 
)
Value:
LOG4CPLUS_REG_PRODUCT (reg, "log4cplus::", appendername, log4cplus::, \
This abstract class defines the "Factory" interface to create "Appender" objects.
Definition: factory.h:64
#define LOG4CPLUS_REG_PRODUCT(reg, productprefix, productname, productns, productfact)
Definition: factory.h:249

Definition at line 256 of file factory.h.

◆ LOG4CPLUS_REG_FILTER

#define LOG4CPLUS_REG_FILTER (   reg,
  filtername 
)
Value:
LOG4CPLUS_REG_PRODUCT (reg, "log4cplus::spi::", filtername, log4cplus::spi::, \
This abstract class defines the "Factory" interface to create "Appender" objects.
Definition: factory.h:104

Definition at line 264 of file factory.h.

◆ LOG4CPLUS_REG_LAYOUT

#define LOG4CPLUS_REG_LAYOUT (   reg,
  layoutname 
)
Value:
LOG4CPLUS_REG_PRODUCT (reg, "log4cplus::", layoutname, log4cplus::, \
This abstract class defines the "Factory" interface to create "Layout" objects.
Definition: factory.h:84

Definition at line 260 of file factory.h.

◆ LOG4CPLUS_REG_LOCALE

#define LOG4CPLUS_REG_LOCALE (   reg,
  name,
  factory 
)
Value:
reg.put (std::unique_ptr<log4cplus::spi::LocaleFactory> ( \
new factory (name)))

Definition at line 268 of file factory.h.

◆ LOG4CPLUS_REG_PRODUCT

#define LOG4CPLUS_REG_PRODUCT (   reg,
  productprefix,
  productname,
  productns,
  productfact 
)
Value:
reg.put ( \
std::unique_ptr<productfact> ( \
LOG4CPLUS_TEXT(productprefix) \
LOG4CPLUS_TEXT(#productname))))
#define LOG4CPLUS_TEXT(STRING)
Definition: clogger.h:72

Definition at line 249 of file factory.h.