mirror of https://github.com/gabime/spdlog.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.2 KiB
C++
35 lines
1.2 KiB
C++
![]()
8 years ago
|
|
||
|
#include "includes.h"
|
||
|
|
||
|
#ifdef SPDLOG_ENABLE_PATTERN_PADDING
|
||
|
template<class T>
|
||
|
std::string log_formatted(const T& what, const std::string& pattern = "%v")
|
||
|
{
|
||
|
|
||
|
std::ostringstream oss;
|
||
|
auto oss_sink = std::make_shared<spdlog::sinks::ostream_sink_mt>(oss);
|
||
|
|
||
|
spdlog::logger oss_logger("oss", oss_sink);
|
||
|
oss_logger.set_level(spdlog::level::info);
|
||
|
oss_logger.set_pattern(pattern);
|
||
|
oss_logger.info(what);
|
||
|
|
||
|
return oss.str().substr(0, oss.str().length() - spdlog::details::os::eol_size);
|
||
|
}
|
||
|
|
||
|
TEST_CASE("padding", "[padding]")
|
||
|
{
|
||
|
REQUIRE(log_formatted("Hello") == "Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%l %v") == "info Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%6l %v") == " info Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%-6l %v") == "info Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%06l %v") == "00info Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%-06l %v") == "info00 Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%12l %v") == " info Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%-12l %v") == "info Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%012l %v") == "00000000info Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%012l %v") == "00000000info Hello");
|
||
|
REQUIRE(log_formatted("Hello", "%-012l %v") == "info00000000 Hello");
|
||
|
}
|
||
|
#endif
|