libqicore-api  2.4.3.28
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
logprovider.hpp
Go to the documentation of this file.
1 /*
2 ** Author(s):
3 ** - Herve Cuche <hcuche@aldebaran-robotics.com>
4 ** - Matthieu Nottale <mnottale@aldebaran-robotics.com>
5 **
6 ** Copyright (C) 2013 Aldebaran Robotics
7 */
8 
9 #ifndef LOGPROVIDER_HPP_
10 #define LOGPROVIDER_HPP_
11 
12 #include <string>
13 #include <utility> // std::pair
14 #include <vector>
15 
16 #include <qi/log.hpp>
17 
18 #include <qicore/api.hpp>
19 #include <qicore/logmessage.hpp>
20 
21 #include <qi/anyobject.hpp>
22 #include <qi/session.hpp>
23 
24 namespace qi
25 {
26 class LogManager;
27 typedef qi::Object<LogManager> LogManagerPtr;
28 
35 {
36 public:
37  virtual ~LogProvider()
38  {
39  }
40 
41  virtual void setCategoryPrefix(const std::string& categoryPrefix) = 0;
42  virtual void setLevel(qi::LogLevel level) = 0;
43  virtual void addFilter(const std::string& filter, qi::LogLevel level) = 0;
44  virtual void setFilters(const std::vector<std::pair<std::string, qi::LogLevel> >& filters) = 0;
45  virtual void setLogger(LogManagerPtr logger) = 0;
46 };
47 
48 typedef qi::Object<LogProvider> LogProviderPtr;
49 
52 
53 QICORE_API qi::FutureSync<qi::LogProviderPtr> initializeLogging(SessionPtr session,
54  const std::string& categoryPrefix = "");
55 } // !qi
56 
57 #endif // !LOGPROVIDER_HPP_
qi::Object< LogProvider > LogProviderPtr
Definition: logmanager.hpp:22
qi::Object< LogManager > LogManagerPtr
Definition: logmanager.hpp:42
virtual ~LogProvider()
Definition: logprovider.hpp:37
qi::FutureSync< qi::LogProviderPtr > initializeLogging(SessionPtr session, const std::string &categoryPrefix="")
LogProviderPtr makeLogProvider(LogManagerPtr logger)
#define QICORE_API
Definition: api.hpp:14