log4cpp  1.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PropertyConfiguratorImpl.hh
Go to the documentation of this file.
1 /*
2  * PropertyConiguratorImpl.hh
3  *
4  * Copyright 2002, Log4cpp Project. All rights reserved.
5  *
6  * See the COPYING file for the terms of usage and distribution.
7  */
8 
9 #ifndef _LOG4CPP_PROPERTYCONFIGURATORIMPL_HH
10 #define _LOG4CPP_PROPERTYCONFIGURATORIMPL_HH
11 
12 #include "PortabilityImpl.hh"
13 #include <log4cpp/Configurator.hh>
14 #include <log4cpp/Appender.hh>
15 #include <log4cpp/Category.hh>
16 #include <string>
17 #include <iostream>
18 #include <map>
19 #include <vector>
20 
21 #include "Properties.hh"
22 
23 namespace log4cpp {
24 
26  public:
27  typedef std::map<std::string, Appender*> AppenderMap;
28 
30  virtual ~PropertyConfiguratorImpl();
31  virtual void doConfigure(const std::string& initFileName)
32  throw (ConfigureFailure);
33  virtual void doConfigure(std::istream& in)
34  throw (ConfigureFailure);
35 
36  protected:
45  void configureCategory(const std::string& categoryname) throw (ConfigureFailure);
46 
52  void getCategories(std::vector<std::string>& categories) const;
53 
55 
69  Appender* instantiateAppender(const std::string& name);
70 
77  void setLayout(Appender* appender, const std::string& name);
78 
80  AppenderMap _allAppenders;
81  };
82 }
83 
84 #endif // _LOG4CPP_PROPERTIES_HH
85 
void setLayout(Appender *appender, const std::string &name)
Method for instantiating and configuring the layouts associated with each appender.
Definition: PropertyConfiguratorImpl.cpp:279
void getCategories(std::vector< std::string > &categories) const
Get a list of categories for which we should do the configuration.
Definition: PropertyConfiguratorImpl.cpp:329
virtual ~PropertyConfiguratorImpl()
Definition: PropertyConfiguratorImpl.cpp:62
PropertyConfiguratorImpl()
Definition: PropertyConfiguratorImpl.cpp:59
Appender * instantiateAppender(const std::string &name)
Intantiate and configure the appender referred to by the given name.
Definition: PropertyConfiguratorImpl.cpp:187
Definition: Portability.hh:44
Exception class for configuration.
Definition: Configurator.hh:21
virtual void doConfigure(const std::string &initFileName)
Definition: PropertyConfiguratorImpl.cpp:65
AppenderMap _allAppenders
Definition: PropertyConfiguratorImpl.hh:80
The top level namespace for all 'Log for C++' types and classes.
Definition: AbortAppender.hh:16
std::map< std::string, Appender * > AppenderMap
Definition: PropertyConfiguratorImpl.hh:27
Definition: Properties.hh:19
Implement this interface for your own strategies for printing log statements.
Definition: Appender.hh:33
Definition: PropertyConfiguratorImpl.hh:25
void instantiateAllAppenders()
Definition: PropertyConfiguratorImpl.cpp:92
Properties _properties
Definition: PropertyConfiguratorImpl.hh:79
void configureCategory(const std::string &categoryname)
configure the given category.
Definition: PropertyConfiguratorImpl.cpp:131