delpi  0.0.1
DElta-complete LP solver
Loading...
Searching...
No Matches
logging.cpp
1
6
7#include "delpi/util/logging.h"
8
9#ifndef NLOG
10
11#include <spdlog/common.h>
12#include <spdlog/sinks/stdout_color_sinks.h>
13#include <spdlog/spdlog.h>
14#include <memory>
15
16
17namespace delpi {
18
19std::shared_ptr<spdlog::logger> get_logger(LoggerType logger_type) {
20 // Checks if there exists a logger with the name. If it exists, return it.
21 const char *logger_name = logger_type == LoggerType::OUT ? "delpi_out" : "delpi_err";
22 std::shared_ptr<spdlog::logger> logger{spdlog::get(logger_name)};
23 if (logger) return logger;
24
25 // Create and return a new logger.
26 logger = logger_type == LoggerType::OUT ? spdlog::stdout_color_mt(logger_name) : spdlog::stderr_color_mt(logger_name);
27
28 // Turn it off by default so that external programs using dReal as a library do not see internal loggings.
29 logger->set_level(spdlog::level::off);
30
31 // Set format.
32 logger->set_pattern("[%Y-%m-%d %H:%M:%S.%e] [%^%l%$] [thread %t] %v");
33
34 return logger;
35}
36
37} // namespace delpi
38
39#else
40
41#endif // NLOG
Global namespace for the delpi library.