summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorLevent Kaya <levent@dev>2025-11-06 11:49:26 +0300
committerLevent Kaya <levent@dev>2025-11-06 11:49:26 +0300
commitc804988f70ad580b45ab5adda64022f462dc6599 (patch)
tree2568944c8a7d0950a5bff73bd2905109e123a4a3 /src/util
parentd2bb3c90b4e8dffaabb2315df13a2dbd362bb1b7 (diff)
[feature] global logger implemented
Diffstat (limited to 'src/util')
-rw-r--r--src/util/logger.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/util/logger.cpp b/src/util/logger.cpp
new file mode 100644
index 0000000..1586743
--- /dev/null
+++ b/src/util/logger.cpp
@@ -0,0 +1,29 @@
+#include <boltdbg/util/logger.h>
+#include <spdlog/sinks/basic_file_sink.h>
+#include <spdlog/sinks/stdout_color_sinks.h>
+#include <spdlog/sinks/ostream_sink.h>
+#include <spdlog/sinks/msvc_sink.h>
+#include <vector>
+
+namespace Log {
+
+std::shared_ptr<spdlog::logger>& get() {
+ static std::shared_ptr<spdlog::logger> logger = [] {
+
+ std::vector<spdlog::sink_ptr> sinks;
+ sinks.push_back(std::make_shared<spdlog::sinks::stdout_color_sink_mt>());
+ sinks.push_back(std::make_shared<spdlog::sinks::basic_file_sink_mt>("app.log", true));
+
+ auto logger = std::make_shared<spdlog::logger>("global", sinks.begin(), sinks.end());
+ logger->set_level(spdlog::level::trace);
+ logger->set_pattern("[%Y-%m-%d %H:%M:%S.%e] [%^%l%$] [thread %t] [%s:%#] %v");
+
+ spdlog::register_logger(logger);
+ spdlog::set_default_logger(logger);
+
+ return logger;
+ }();
+ return logger;
+}
+
+} // namespace log