RTI Routing Service Version 7.1.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
20namespace rti { namespace routing {
21
22
30class Logger
31{
32public:
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
199private:
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_
The singleton type used to configure RTI Routing Service verbosity.
Definition: Logger.hpp:31
void warn(const char *msg)
overload of warn(const std::string& msg)
Definition: Logger.hpp:118
void warn(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:110
void debug(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:182
void error(const char *msg)
overload of error(const std::string& msg)
Definition: Logger.hpp:94
void debug(const char *msg)
overload of debug(const std::string& msg)
Definition: Logger.hpp:190
void error(const std::string &msg)
Logs as message with EXCEPTION level.
Definition: Logger.hpp:86
void remote(const char *msg)
overload of remote(const std::string& msg)
Definition: Logger.hpp:166
rti::config::Verbosity service_verbosity()
Getter for the same attribute.
Definition: Logger.hpp:65
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 local(const char *msg)
overload of local(const std::string& msg)
Definition: Logger.hpp:142
void remote(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:158
void local(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:134