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 val is 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