RTI Cloud Discovery Service Version 7.3.0
Logger.hpp
1
10#ifndef RTI_CDS_LOGGER_HPP_
11#define RTI_CDS_LOGGER_HPP_
12
13#include <dds/core/Reference.hpp>
14#include <rti/config/Logger.hpp>
15
16#include "clouddiscoveryservice/clouddiscoveryservice_service.h"
17#include "clouddiscoveryservice/clouddiscoveryservice_log.h"
18
19namespace rti { namespace cds {
20
33class Logger
34{
35public:
36
37 typedef rti::config::Verbosity Verbosity;
38 typedef rti::config::LogCategory LogCategory;
39 typedef rti::config::LoggerMode LoggerMode;
40 typedef rti::config::PrintFormat PrintFormat;
41
42 static Logger& instance()
43 {
44 static Logger singleton;
45 return singleton;
46 }
47
55 void service_verbosity(rti::config::Verbosity verbosity)
56 {
57 NDDS_Config_Logger_set_verbosity_by_service(
58 NDDS_Config_Logger_get_instance(),
59 NDDS_CONFIG_LOG_SERVICE_CLOUD_DISCOVERY,
60 static_cast<NDDS_Config_LogVerbosity>(verbosity.underlying()));
61 }
62
68 rti::config::Verbosity service_verbosity()
69 {
70 RTILogBitmap instrumentation_mask =
71 NDDS_Config_Logger_get_verbosity_by_service(
72 NDDS_Config_Logger_get_instance(),
73 NDDS_CONFIG_LOG_SERVICE_CLOUD_DISCOVERY);
74
75 return static_cast<rti::config::Verbosity::type>(instrumentation_mask);
76 }
77
90 void error(const std::string& msg)
91 {
92 this->error(msg.c_str());
93 }
94
98 void error(const char *msg)
99 {
100 this->message(rti::config::LogLevel::EXCEPTION, msg);
101 }
102
114 void warn(const std::string& msg)
115 {
116 this->warn(msg.c_str());
117 }
118
122 void warn(const char *msg)
123 {
124 this->message(rti::config::LogLevel::WARNING, msg);
125 }
126
138 void local(const std::string& msg)
139 {
140 this->local(msg.c_str());
141 }
142
146 void local(const char *msg)
147 {
148 this->message(rti::config::LogLevel::STATUS_LOCAL, msg);
149 }
150
162 void remote(const std::string& msg)
163 {
164 this->remote(msg.c_str());
165 }
166
170 void remote(const char *msg)
171 {
172 this->message(rti::config::LogLevel::STATUS_REMOTE, msg);
173 }
174
186 void debug(const std::string& msg)
187 {
188 this->debug(msg.c_str());
189 }
190
194 void debug(const char *msg)
195 {
196 this->message(rti::config::LogLevel::STATUS_ALL, msg);
197 }
198
199 virtual ~Logger()
200 {
201 }
202
203private:
204
205 void message(const rti::config::LogLevel& level, const char* msg)
206 {
207 RTI_CDS_Logger_log(
208 static_cast<NDDS_Config_LogLevel>(level.underlying()),
209 "%s",
210 msg);
211 }
212
213 Logger()
214 {
215 }
216
217 // Disable copy
218 Logger(const Logger&);
219 Logger& operator=(const Logger&);
220};
221
222}}
223
224#endif // RTI_CDS_LOGGER_HPP_
The singleton type used to configure RTI Cloud Discovery Service verbosity.
Definition: Logger.hpp:34
rti::config::Verbosity service_verbosity()
Getter for the same attribute.
Definition: Logger.hpp:68
void error(const char *msg)
Overload of error(const std::string& msg)
Definition: Logger.hpp:98
void remote(const char *msg)
Overload of remote(const std::string& msg)
Definition: Logger.hpp:170
void warn(const char *msg)
Overload of warn(const std::string& msg)
Definition: Logger.hpp:122
void warn(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:114
void local(const char *msg)
Overload of local(const std::string& msg)
Definition: Logger.hpp:146
void error(const std::string &msg)
Logs a message with EXCEPTION level.
Definition: Logger.hpp:90
void debug(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:186
void service_verbosity(rti::config::Verbosity verbosity)
Sets the verbosity for the log messages generated at the RTI Cloud Discovery Service level.
Definition: Logger.hpp:55
void local(const std::string &msg)
Logs as message with WARNING level.
Definition: Logger.hpp:138
void debug(const char *msg)
Overload of debug(const std::string& msg)
Definition: Logger.hpp:194
void remote(const std::string &msg)
Logs a message with WARNING level.
Definition: Logger.hpp:162
Definition: CloudDiscoveryServiceImpl.hpp:20