From 61e5bcef2629e2d68b805a956a96fff264d4f74d Mon Sep 17 00:00:00 2001 From: untodesu Date: Sat, 28 Jun 2025 01:59:49 +0500 Subject: Restructure dependencies and update to C++20 - Nuked static_assert from almost everywhere in the project - Nuked binary dependency support. Might add one later though - Separated dependency headers into a separate include subdirectory - Grafted a thirdpartylegalnotices.txt generator from RITEG - Pushed development snapshot version to 2126 (26th week of 2025) --- deps/include/spdlog/sinks/mongo_sink.h | 108 --------------------------------- 1 file changed, 108 deletions(-) delete mode 100644 deps/include/spdlog/sinks/mongo_sink.h (limited to 'deps/include/spdlog/sinks/mongo_sink.h') diff --git a/deps/include/spdlog/sinks/mongo_sink.h b/deps/include/spdlog/sinks/mongo_sink.h deleted file mode 100644 index cc98801..0000000 --- a/deps/include/spdlog/sinks/mongo_sink.h +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright(c) 2015-present, Gabi Melman & spdlog contributors. -// Distributed under the MIT License (http://opensource.org/licenses/MIT) - -#pragma once - -// -// Custom sink for mongodb -// Building and using requires mongocxx library. -// For building mongocxx library check the url below -// http://mongocxx.org/mongocxx-v3/installation/ -// - -#include "spdlog/common.h" -#include "spdlog/details/log_msg.h" -#include "spdlog/sinks/base_sink.h" -#include - -#include -#include -#include - -#include -#include -#include - -namespace spdlog { -namespace sinks { -template -class mongo_sink : public base_sink { -public: - mongo_sink(const std::string &db_name, - const std::string &collection_name, - const std::string &uri = "mongodb://localhost:27017") try - : mongo_sink(std::make_shared(), db_name, collection_name, uri) { - } catch (const std::exception &e) { - throw_spdlog_ex(fmt_lib::format("Error opening database: {}", e.what())); - } - - mongo_sink(std::shared_ptr instance, - const std::string &db_name, - const std::string &collection_name, - const std::string &uri = "mongodb://localhost:27017") - : instance_(std::move(instance)), - db_name_(db_name), - coll_name_(collection_name) { - try { - client_ = spdlog::details::make_unique(mongocxx::uri{uri}); - } catch (const std::exception &e) { - throw_spdlog_ex(fmt_lib::format("Error opening database: {}", e.what())); - } - } - - ~mongo_sink() { flush_(); } - -protected: - void sink_it_(const details::log_msg &msg) override { - using bsoncxx::builder::stream::document; - using bsoncxx::builder::stream::finalize; - - if (client_ != nullptr) { - auto doc = document{} << "timestamp" << bsoncxx::types::b_date(msg.time) << "level" - << level::to_string_view(msg.level).data() << "level_num" - << msg.level << "message" - << std::string(msg.payload.begin(), msg.payload.end()) - << "logger_name" - << std::string(msg.logger_name.begin(), msg.logger_name.end()) - << "thread_id" << static_cast(msg.thread_id) << finalize; - client_->database(db_name_).collection(coll_name_).insert_one(doc.view()); - } - } - - void flush_() override {} - -private: - std::shared_ptr instance_; - std::string db_name_; - std::string coll_name_; - std::unique_ptr client_ = nullptr; -}; - -#include "spdlog/details/null_mutex.h" -#include -using mongo_sink_mt = mongo_sink; -using mongo_sink_st = mongo_sink; - -} // namespace sinks - -template -inline std::shared_ptr mongo_logger_mt( - const std::string &logger_name, - const std::string &db_name, - const std::string &collection_name, - const std::string &uri = "mongodb://localhost:27017") { - return Factory::template create(logger_name, db_name, collection_name, - uri); -} - -template -inline std::shared_ptr mongo_logger_st( - const std::string &logger_name, - const std::string &db_name, - const std::string &collection_name, - const std::string &uri = "mongodb://localhost:27017") { - return Factory::template create(logger_name, db_name, collection_name, - uri); -} - -} // namespace spdlog -- cgit