From 0145223be1c3b115e562603881af2832505fe496 Mon Sep 17 00:00:00 2001 From: Sandor Magyar Date: Mon, 17 Oct 2022 16:15:23 -0400 Subject: [PATCH] Add numerical level to Mongo sink for easier queries Filtering to a certain log level or above, a useful operation, can now be done with an integer comparison as opposed to comparing to a list of strings in the database query. --- include/spdlog/sinks/mongo_sink.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/spdlog/sinks/mongo_sink.h b/include/spdlog/sinks/mongo_sink.h index d239e928..1338983c 100644 --- a/include/spdlog/sinks/mongo_sink.h +++ b/include/spdlog/sinks/mongo_sink.h @@ -56,7 +56,8 @@ protected: if (client_ != nullptr) { - auto doc = document{} << "timestamp" << bsoncxx::types::b_date(msg.time) << "level" << level::to_string_view(msg.level).data() + 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;