RTI Routing Service  Version 7.0.0
Logger.hpp
1 /*
2  * (c) Copyright, Real-Time Innovations, 2017.
3  * All rights reserved.
4  *
5  * No duplications, whole or partial, manual or electronic, may be made
6  * without express written permission. Any such copies, or
7  * revisions thereof, must display this notice unaltered.
8  * This code contains trade secrets of Real-Time Innovations, Inc.
9  */
10 
11 #ifndef RTI_ROUTING_LOGGER_HPP_
12 #define RTI_ROUTING_LOGGER_HPP_
13 
14 #include <dds/core/Reference.hpp>
15 #include <rti/config/Logger.hpp>
16 
17 #include "routingservice/routingservice_log.h"
18 #include "routingservice/routingservice_service.h"
19 
20 namespace rti { namespace routing {
21 
22 
30 class Logger
31 {
32 public:
33 
34  typedef rti::config::Verbosity Verbosity;
35  typedef rti::config::LogCategory LogCategory;
36  typedef rti::config::LoggerMode LoggerMode;
37  typedef rti::config::PrintFormat PrintFormat;
38 
39  static Logger& instance()
40  {
41  static Logger singleton;
42  return singleton;
43  }
44 
52  void service_verbosity(rti::config::Verbosity verbosity)
53  {
54  RTILogBitmap submodule_mask = ROUTER_SUBMODULE_MASK_ALL;
55  ROUTERLog_setBitmaps(
56  submodule_mask,
57  static_cast<RTILogBitmap>(verbosity.underlying()));
58  }
59 
65  rti::config::Verbosity service_verbosity()
66  {
67  RTILogBitmap submodule_mask = ROUTER_SUBMODULE_MASK_ALL;
68  RTILogBitmap instrumentation_mask = ROUTER_SUBMODULE_MASK_ALL;
69  ROUTERLog_getBitmaps(&submodule_mask, &instrumentation_mask);
70 
71  return static_cast<rti::config::Verbosity::type>(instrumentation_mask);
72  }
73 
86  void error(const std::string& msg)
87  {
88  this->error(msg.c_str());
89  }
90 
94  void error(const char *msg)
95  {
96  this->message(rti::config::LogLevel::EXCEPTION, msg);
97  }
98 
110  void warn(const std::string& msg)
111  {
112  this->warn(msg.c_str());
113  }
114 
118  void warn(const char *msg)
119  {
120  this->message(rti::config::LogLevel::WARNING, msg);
121  }
122 
134  void local(const std::string& msg)
135  {
136  this->local(msg.c_str());
137  }
138 
142  void local(const char *msg)
143  {
144  this->message(rti::config::LogLevel::STATUS_LOCAL, msg);
145  }
146 
158  void remote(const std::string& msg)
159  {
160  this->remote(msg.c_str());
161  }
162 
166  void remote(const char *msg)
167  {
168  this->message(rti::config::LogLevel::STATUS_REMOTE, msg);
169  }
170 
182  void debug(const std::string& msg)
183  {
184  this->debug(msg.c_str());
185  }
186 
190  void debug(const char *msg)
191  {
192  this->message(rti::config::LogLevel::STATUS_ALL, msg);
193  }
194 
195  virtual ~Logger()
196  {
197  }
198 
199 private:
200 
201  void message(const rti::config::LogLevel& level, const char* msg)
202  {
203  RTI_RoutingServiceLogger_log(
204  static_cast<NDDS_Config_LogLevel> (level.underlying()),
205  "%s",
206  msg);
207  }
208 
209  Logger()
210  {
211  }
212  // Disable copy
213  Logger(const Logger&);
214  Logger& operator=(const Logger&);
215 };
216 
217 }}
218 
219 #endif // RTI_ROUTING_LOGGER_HPP_
void local(const char *msg)
overload of local(const std::string& msg)
Definition: Logger.hpp:142
void error(const char *msg)
overload of error(const std::string& msg)
Definition: Logger.hpp:94
void warn(const char *msg)
overload of warn(const std::string& msg)
Definition: Logger.hpp:118
void debug(const char *msg)
overload of debug(const std::string& msg)
Definition: Logger.hpp:190
void remote(const char *msg)
overload of remote(const std::string& msg)
Definition: Logger.hpp:166
void error(const std::string &msg)
Logs as message with EXCEPTION level.
Definition: Logger.hpp:86
void service_verbosity(rti::config::Verbosity verbosity)
Sets the verbosity for the log messages generated at the RTI Routing Service level.
Definition: Logger.hpp:52
void warn(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:110
void local(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:134
Definition: AdapterPlugin.hpp:25
void remote(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:158
void debug(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:182
rti::config::Verbosity service_verbosity()
Getter for the same attribute.
Definition: Logger.hpp:65
The singleton type used to configure RTI Routing Service verbosity.
Definition: Logger.hpp:30