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