src/core/logger.h
Namespaces
| Name | 
|---|
| dakku dakku namespace | 
Classes
| Name | |
|---|---|
| class | dakku::Logger logger class | 
Defines
| Name | |
|---|---|
| DAKKU_ERR(...) log error message | |
| DAKKU_INFO(...) log info message | |
| DAKKU_WARN(...) log warning message | |
| DAKKU_DEBUG(...) log debug message | |
| DAKKU_CHECK(...) check whether the condition valis true, if not log error messages | 
Macros Documentation
define DAKKU_ERR
#define DAKKU_ERR(
    ...
)
  SPDLOG_LOGGER_CALL(Logger::get().handle(), spdlog::level::err, __VA_ARGS__)
log error message
define DAKKU_INFO
#define DAKKU_INFO(
    ...
)
  SPDLOG_LOGGER_CALL(Logger::get().handle(), spdlog::level::info, __VA_ARGS__)
log info message
define DAKKU_WARN
#define DAKKU_WARN(
    ...
)
  SPDLOG_LOGGER_CALL(Logger::get().handle(), spdlog::level::warn, __VA_ARGS__)
log warning message
define DAKKU_DEBUG
log debug message
define DAKKU_CHECK
check whether the condition val is true, if not log error messages 
Source code
#ifndef DAKKU_CORE_LOGGER_H_
#define DAKKU_CORE_LOGGER_H_
#include <core/fwd.h>
#include <memory>
#include <spdlog/spdlog.h>
#include <spdlog/fmt/ostr.h>
namespace dakku {
class DAKKU_EXPORT_CORE Logger {
 public:
  static const Logger &get();
  [[nodiscard]] spdlog::logger *handle() const { return _logger.get(); }
 private:
  explicit Logger(std::shared_ptr<spdlog::logger> _logger);
  std::shared_ptr<spdlog::logger> _logger;
};
#define DAKKU_ERR(...) \
  SPDLOG_LOGGER_CALL(Logger::get().handle(), spdlog::level::err, __VA_ARGS__)
#define DAKKU_INFO(...) \
  SPDLOG_LOGGER_CALL(Logger::get().handle(), spdlog::level::info, __VA_ARGS__)
#define DAKKU_WARN(...) \
  SPDLOG_LOGGER_CALL(Logger::get().handle(), spdlog::level::warn, __VA_ARGS__)
#ifdef DAKKU_BUILD_DEBUG
#define DAKKU_DEBUG(...) \
  SPDLOG_LOGGER_CALL(Logger::get().handle(), spdlog::level::debug, __VA_ARGS__)
#else
#define DAKKU_DEBUG(...) static_cast<void>(0)
#endif
#ifdef DAKKU_BUILD_CHECK
#define DAKKU_CHECK(val, ...) \
  do {                        \
    if (!(val)) {             \
      DAKKU_ERR(__VA_ARGS__); \
      std::exit(-1);          \
    }                         \
  } while (0)
#else
#define DAKKU_CHECK(...) static_cast<void>(0)
#endif
}  // namespace dakku
#endif
Updated on 2022-04-30 at 15:46:11 +0000