12 #ifndef INCLUDED_GR_LOGGER_H 13 #define INCLUDED_GR_LOGGER_H 20 #ifdef DISABLE_LOGGER_H 36 #include <spdlog/common.h> 37 #include <spdlog/fmt/fmt.h> 38 #include <spdlog/fmt/ostr.h> 39 #include <spdlog/version.h> 42 #include <spdlog/spdlog.h> 44 #include <spdlog/sinks/dist_sink.h> 58 void operator=(
logging const&) =
delete;
75 spdlog::sink_ptr default_backend()
const;
77 void add_default_sink(
const spdlog::sink_ptr& sink);
79 void add_debug_sink(
const spdlog::sink_ptr& sink);
81 void add_default_console_sink();
83 void add_debug_console_sink();
85 static constexpr
const char* default_pattern =
"%n :%l: %v";
89 std::shared_ptr<spdlog::sinks::dist_sink_mt> _default_backend, _debug_backend;
122 using underlying_logger_ptr = std::shared_ptr<spdlog::logger>;
124 #if SPDLOG_VERSION >= 11000 127 template <
typename... Args>
128 using format_string_t = spdlog::format_string_t<Args...>;
129 #elif SPDLOG_VERSION >= 10910 132 template <
typename... Args>
133 using format_string_t = fmt::format_string<Args...>;
136 template <
typename... Args>
137 using format_string_t =
const spdlog::string_view_t&;
149 logger(
const std::string& logger_name);
159 void set_level(
const std::string& level);
163 void get_level(std::string& level)
const;
164 const std::string get_string_level()
const;
167 const std::string& name()
const;
168 void set_name(
const std::string& name);
171 template <
typename... Args>
172 inline void trace(format_string_t<Args...>
msg, Args&&... args)
174 d_logger->trace(msg, std::forward<Args>(args)...);
178 template <
typename... Args>
179 inline void debug(format_string_t<Args...>
msg, Args&&... args)
181 d_logger->debug(msg, std::forward<Args>(args)...);
185 template <
typename... Args>
186 inline void info(format_string_t<Args...>
msg, Args&&... args)
188 d_logger->info(msg, std::forward<Args>(args)...);
192 template <
typename... Args>
193 inline void notice(format_string_t<Args...>
msg, Args&&... args)
195 d_logger->info(msg, std::forward<Args>(args)...);
199 template <
typename... Args>
200 inline void warn(format_string_t<Args...>
msg, Args&&... args)
202 d_logger->warn(msg, std::forward<Args>(args)...);
206 template <
typename... Args>
207 inline void error(format_string_t<Args...>
msg, Args&&... args)
209 d_logger->error(msg, std::forward<Args>(args)...);
213 template <
typename... Args>
214 inline void crit(format_string_t<Args...>
msg, Args&&... args)
216 d_logger->critical(msg, std::forward<Args>(args)...);
220 template <
typename... Args>
221 inline void alert(format_string_t<Args...>
msg, Args&&... args)
223 d_logger->critical(msg, std::forward<Args>(args)...);
227 template <
typename... Args>
228 inline void fatal(format_string_t<Args...>
msg, Args&&... args)
230 d_logger->critical(msg, std::forward<Args>(args)...);
234 template <
typename... Args>
235 inline void emerg(format_string_t<Args...>
msg, Args&&... args)
237 d_logger->critical(msg, std::forward<Args>(args)...);
240 template <
typename... Args>
242 log(spdlog::level::level_enum level, format_string_t<Args...>
msg, Args&&... args)
244 d_logger->log(level, msg, std::forward<Args>(args)...);
264 #define GR_LOG_TRACE(log, msg) \ 266 log->d_logger->trace(msg); \ 269 #define GR_LOG_DEBUG(log, msg) \ 271 log->d_logger->debug(msg); \ 274 #define GR_LOG_INFO(log, msg) \ 276 log->d_logger->info(msg); \ 279 #define GR_LOG_NOTICE(log, msg) \ 281 log->d_logger->info(msg); \ 285 #define GR_LOG_WARN(log, msg) \ 287 log->d_logger->warn(msg); \ 290 #define GR_LOG_ERROR(log, msg) \ 292 log->d_logger->error(msg); \ 295 #define GR_LOG_CRIT(log, msg) \ 297 log->d_logger->critical(msg); \ 300 #define GR_LOG_ALERT(log, msg) \ 302 log->d_logger->critical(msg); \ 305 #define GR_LOG_FATAL(log, msg) \ 307 log->d_logger->critical(msg); \ 310 #define GR_LOG_EMERG(log, msg) \ 312 log->d_logger->critical(msg); \ void info(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for INFO message
Definition: logger.h:186
void crit(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for CRITICAL message
Definition: logger.h:214
GR_RUNTIME_API const pmt::pmt_t msg()
log_level default_level() const
get the default logging level
Definition: logger.h:64
std::shared_ptr< logger > logger_ptr
Definition: logger.h:247
#define GR_RUNTIME_API
Definition: gnuradio-runtime/include/gnuradio/api.h:18
void trace(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for TRACE message
Definition: logger.h:172
GR_RUNTIME_API bool configure_default_loggers(gr::logger_ptr &l, gr::logger_ptr &d, const std::string &name)
GNU Radio logging wrapper.
Definition: basic_block.h:29
log_level debug_level() const
get the debug logging level
Definition: logger.h:67
void error(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for ERROR message
Definition: logger.h:207
void warn(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for WARN message
Definition: logger.h:200
void notice(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for INFO message, DEPRECATED
Definition: logger.h:193
underlying_logger_ptr d_logger
Definition: logger.h:155
void debug(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for DEBUG message
Definition: logger.h:179
GR_LOG macrosThese macros wrap the standard LOG4CPP_LEVEL macros. The available macros are: LOG_DEBUG...
Definition: logger.h:117
void log(spdlog::level::level_enum level, format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for logging with ad-hoc adjustable level
Definition: logger.h:242
void fatal(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for CRITICAL message, DEPRECATED
Definition: logger.h:228
void emerg(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for CRITICAL message, DEPRECATED
Definition: logger.h:235
void alert(format_string_t< Args... > msg, Args &&... args)
inline function, wrapper for CRITICAL message, DEPRECATED
Definition: logger.h:221
spdlog::level::level_enum log_level
Definition: logger.h:47