mirror of
https://github.com/gabime/spdlog.git
synced 2025-10-02 11:29:01 +08:00
Added default logger API
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#define SPDLOG_DEBUG_ON
|
||||
#define SPDLOG_ENABLE_MESSAGE_COUNTER
|
||||
|
||||
#include "spdlog/spdlog.h"
|
||||
#include "spdlog/async.h"
|
||||
#include "spdlog/sinks/basic_file_sink.h"
|
||||
#include "spdlog/sinks/daily_file_sink.h"
|
||||
@@ -21,4 +22,3 @@
|
||||
#include "spdlog/sinks/ostream_sink.h"
|
||||
#include "spdlog/sinks/rotating_file_sink.h"
|
||||
#include "spdlog/sinks/stdout_color_sinks.h"
|
||||
#include "spdlog/spdlog.h"
|
||||
|
@@ -12,8 +12,7 @@ TEST_CASE("register_drop", "[registry]")
|
||||
REQUIRE_THROWS_AS(spdlog::create<spdlog::sinks::null_sink_mt>(tested_logger_name), const spdlog::spdlog_ex &);
|
||||
}
|
||||
|
||||
TEST_CASE("explicit register"
|
||||
"[registry]")
|
||||
TEST_CASE("explicit register", "[registry]")
|
||||
{
|
||||
spdlog::drop_all();
|
||||
auto logger = std::make_shared<spdlog::logger>(tested_logger_name, std::make_shared<spdlog::sinks::null_sink_st>());
|
||||
@@ -23,8 +22,7 @@ TEST_CASE("explicit register"
|
||||
REQUIRE_THROWS_AS(spdlog::create<spdlog::sinks::null_sink_mt>(tested_logger_name), const spdlog::spdlog_ex &);
|
||||
}
|
||||
|
||||
TEST_CASE("apply_all"
|
||||
"[registry]")
|
||||
TEST_CASE("apply_all", "[registry]")
|
||||
{
|
||||
spdlog::drop_all();
|
||||
auto logger = std::make_shared<spdlog::logger>(tested_logger_name, std::make_shared<spdlog::sinks::null_sink_st>());
|
||||
@@ -45,8 +43,7 @@ TEST_CASE("apply_all"
|
||||
REQUIRE(counter == 1);
|
||||
}
|
||||
|
||||
TEST_CASE("drop"
|
||||
"[registry]")
|
||||
TEST_CASE("drop", "[registry]")
|
||||
{
|
||||
spdlog::drop_all();
|
||||
spdlog::create<spdlog::sinks::null_sink_mt>(tested_logger_name);
|
||||
@@ -54,8 +51,7 @@ TEST_CASE("drop"
|
||||
REQUIRE_FALSE(spdlog::get(tested_logger_name));
|
||||
}
|
||||
|
||||
TEST_CASE("drop_all"
|
||||
"[registry]")
|
||||
TEST_CASE("drop_all", "[registry]")
|
||||
{
|
||||
spdlog::drop_all();
|
||||
spdlog::create<spdlog::sinks::null_sink_mt>(tested_logger_name);
|
||||
@@ -65,8 +61,7 @@ TEST_CASE("drop_all"
|
||||
REQUIRE_FALSE(spdlog::get(tested_logger_name2));
|
||||
}
|
||||
|
||||
TEST_CASE("drop non existing"
|
||||
"[registry]")
|
||||
TEST_CASE("drop non existing", "[registry]")
|
||||
{
|
||||
spdlog::drop_all();
|
||||
spdlog::create<spdlog::sinks::null_sink_mt>(tested_logger_name);
|
||||
@@ -75,3 +70,11 @@ TEST_CASE("drop non existing"
|
||||
REQUIRE(spdlog::get(tested_logger_name));
|
||||
spdlog::drop_all();
|
||||
}
|
||||
|
||||
TEST_CASE("default logger", "[registry]")
|
||||
{
|
||||
spdlog::drop_all();
|
||||
spdlog::set_default_logger(std::move(spdlog::null_logger_st(tested_logger_name)));
|
||||
REQUIRE(spdlog::get(tested_logger_name) == spdlog::get());
|
||||
spdlog::drop_all();
|
||||
}
|
||||
|
@@ -191,3 +191,42 @@ TEST_CASE("message_counter", "[message_counter]")
|
||||
|
||||
REQUIRE(oss.str() == "000002 Hello again" + std::string(spdlog::details::os::default_eol));
|
||||
}
|
||||
|
||||
TEST_CASE("default logger API", "[default logger]")
|
||||
{
|
||||
std::ostringstream oss;
|
||||
auto oss_sink = std::make_shared<spdlog::sinks::ostream_sink_mt>(oss);
|
||||
|
||||
spdlog::set_default_logger(std::make_shared<spdlog::logger>("oss", oss_sink));
|
||||
spdlog::get()->set_pattern("%v");
|
||||
|
||||
spdlog::get()->set_level(spdlog::level::trace);
|
||||
spdlog::trace("hello trace");
|
||||
REQUIRE(oss.str() == "hello trace" + std::string(spdlog::details::os::default_eol));
|
||||
|
||||
oss.str("");
|
||||
spdlog::debug("hello debug");
|
||||
REQUIRE(oss.str() == "hello debug" + std::string(spdlog::details::os::default_eol));
|
||||
|
||||
oss.str("");
|
||||
spdlog::info("Hello");
|
||||
REQUIRE(oss.str() == "Hello" + std::string(spdlog::details::os::default_eol));
|
||||
|
||||
oss.str("");
|
||||
spdlog::warn("Hello again {}", 2);
|
||||
REQUIRE(oss.str() == "Hello again 2" + std::string(spdlog::details::os::default_eol));
|
||||
|
||||
oss.str("");
|
||||
spdlog::error(123);
|
||||
REQUIRE(oss.str() == "123" + std::string(spdlog::details::os::default_eol));
|
||||
|
||||
oss.str("");
|
||||
spdlog::critical(std::string("some string"));
|
||||
REQUIRE(oss.str() == "some string" + std::string(spdlog::details::os::default_eol));
|
||||
|
||||
oss.str("");
|
||||
spdlog::set_level(spdlog::level::info);
|
||||
spdlog::debug("should not be logged");
|
||||
REQUIRE(oss.str().empty());
|
||||
spdlog::drop_all();
|
||||
}
|
||||
|
Reference in New Issue
Block a user