smats
0.0.1
Satisfability Modulo Arithmetic Theories Symbols
Loading...
Searching...
No Matches
logging.h
1
13
#pragma once
14
15
#ifndef NLOG
16
17
#include <fmt/core.h>
// IWYU pragma: export
18
#include <fmt/ranges.h>
// IWYU pragma: export
19
#include <spdlog/logger.h>
20
21
#include <memory>
22
23
namespace
smats
{
24
25
std::shared_ptr<spdlog::logger> get_logger(
bool
to_stdout);
// NOLINT
26
27
}
// namespace smats
28
29
#define SMATS_VERBOSITY_TO_LOG_LEVEL(verbosity) \
30
((verbosity) == 0 \
31
? spdlog::level::critical \
32
: ((verbosity) == 1 \
33
? spdlog::level::err \
34
: ((verbosity) == 2 \
35
? spdlog::level::warn \
36
: ((verbosity) == 3 \
37
? spdlog::level::info \
38
: ((verbosity) == 4 ? spdlog::level::debug \
39
: ((verbosity) == 5 ? spdlog::level::trace : spdlog::level::off))))))
40
#define SMATS_LOG_INIT_VERBOSITY(verbosity) SMATS_LOG_INIT_LEVEL(SMATS_VERBOSITY_TO_LOG_LEVEL(verbosity))
41
#define SMATS_LOG_INIT_LEVEL(level) \
42
do { \
43
::smats::get_logger(true)->set_level(level); \
44
::smats::get_logger(false)->set_level(level); \
45
} while (0)
46
#define SMATS_TRACE(msg) ::smats::get_logger(true)->trace(msg)
47
#define SMATS_TRACE_FMT(msg, ...) ::smats::get_logger(true)->trace(msg, __VA_ARGS__)
48
#define SMATS_DEBUG(msg) ::smats::get_logger(true)->debug(msg)
49
#define SMATS_DEBUG_FMT(msg, ...) ::smats::get_logger(true)->debug(msg, __VA_ARGS__)
50
#define SMATS_INFO(msg) ::smats::get_logger(true)->info(msg)
51
#define SMATS_INFO_FMT(msg, ...) ::smats::get_logger(true)->info(msg, __VA_ARGS__)
52
#define SMATS_WARN(msg) ::smats::get_logger(false)->warn(msg)
53
#define SMATS_WARN_FMT(msg, ...) ::smats::get_logger(false)->warn(msg, __VA_ARGS__)
54
#define SMATS_ERROR(msg) ::smats::get_logger(false)->error(msg)
55
#define SMATS_ERROR_FMT(msg, ...) ::smats::get_logger(false)->error(msg, __VA_ARGS__)
56
#define SMATS_CRITICAL(msg) ::smats::get_logger(false)->critical(msg)
57
#define SMATS_CRITICAL_FMT(msg, ...) ::smats::get_logger(false)->critical(msg, __VA_ARGS__)
58
#define SMATS_INFO_ENABLED (::smats::get_logger(true)->should_log(spdlog::level::info))
59
#define SMATS_TRACE_ENABLED (::smats::get_logger(true)->should_log(spdlog::level::trace))
60
61
#else
62
63
#include <fmt/core.h>
// IWYU pragma: export
64
65
#define OSTREAM_FORMATTER(type)
66
#define SMATS_VERBOSITY_TO_LOG_LEVEL(verbosity) 0
67
#define SMATS_LOG_INIT_LEVEL(level) void(0)
68
#define SMATS_LOG_INIT_VERBOSITY(verbosity) void(0)
69
#define SMATS_TRACE(msg) void(0)
70
#define SMATS_TRACE_FMT(msg, ...) void(0)
71
#define SMATS_DEBUG(msg) void(0)
72
#define SMATS_DEBUG_FMT(msg, ...) void(0)
73
#define SMATS_INFO(msg) void(0)
74
#define SMATS_INFO_FMT(msg, ...) void(0)
75
#define SMATS_WARN(msg) void(0)
76
#define SMATS_WARN_FMT(msg, ...) void(0)
77
#define SMATS_ERROR(msg) void(0)
78
#define SMATS_ERROR_FMT(msg, ...) void(0)
79
#define SMATS_CRITICAL(msg) void(0)
80
#define SMATS_CRITICAL_FMT(msg, ...) void(0)
81
#define SMATS_INFO_ENABLED false
82
#define SMATS_TRACE_ENABLED false
83
84
#endif
smats
ExpressionKind enum.
smats
util
logging.h
Generated by
1.11.0