mirror of
https://github.com/gabime/spdlog.git
synced 2024-12-26 10:31:34 +08:00
Removed multisink and test in example
This commit is contained in:
parent
87eb569929
commit
18ccd55725
@ -53,11 +53,4 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
|||||||
target_link_libraries(example_header_only log Threads::Threads)
|
target_link_libraries(example_header_only log Threads::Threads)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
add_executable(multisink multisink.cpp)
|
|
||||||
target_link_libraries(multisink spdlog::spdlog)
|
|
||||||
|
|
||||||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs")
|
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs")
|
||||||
|
|
||||||
enable_testing()
|
|
||||||
add_test(NAME example COMMAND example)
|
|
||||||
add_test(NAME example_header_only COMMAND example)
|
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
#include "spdlog/spdlog.h"
|
|
||||||
#include "spdlog/sinks/basic_file_sink.h"
|
|
||||||
#include "spdlog/sinks/stdout_sinks.h"
|
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
int main(int, char *[])
|
|
||||||
{
|
|
||||||
bool enable_debug = true;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// This other example use a single logger with multiple sinks.
|
|
||||||
// This means that the same log_msg is forwarded to multiple sinks;
|
|
||||||
// Each sink can have it's own log level and a message will be logged.
|
|
||||||
std::vector<spdlog::sink_ptr> sinks;
|
|
||||||
sinks.push_back(std::make_shared<spdlog::sinks::stdout_sink_mt>());
|
|
||||||
sinks.push_back(std::make_shared<spdlog::sinks::basic_file_sink_mt>("./log_regular_file.txt"));
|
|
||||||
sinks.push_back(std::make_shared<spdlog::sinks::basic_file_sink_mt>("./log_debug_file.txt"));
|
|
||||||
|
|
||||||
spdlog::logger console_multisink("multisink", sinks.begin(), sinks.end());
|
|
||||||
console_multisink.set_level(spdlog::level::warn);
|
|
||||||
|
|
||||||
sinks[0]->set_level(spdlog::level::trace); // console. Allow everything. Default value
|
|
||||||
sinks[1]->set_level(spdlog::level::trace); // regular file. Allow everything. Default value
|
|
||||||
sinks[2]->set_level(spdlog::level::off); // regular file. Ignore everything.
|
|
||||||
|
|
||||||
console_multisink.warn("warn: will print only on console and regular file");
|
|
||||||
|
|
||||||
if (enable_debug)
|
|
||||||
{
|
|
||||||
console_multisink.set_level(spdlog::level::debug); // level of the logger
|
|
||||||
sinks[1]->set_level(spdlog::level::debug); // regular file
|
|
||||||
sinks[2]->set_level(spdlog::level::debug); // debug file
|
|
||||||
}
|
|
||||||
console_multisink.debug("Debug: you should see this on console and both files");
|
|
||||||
|
|
||||||
// Release and close all loggers
|
|
||||||
spdlog::drop_all();
|
|
||||||
}
|
|
||||||
// Exceptions will only be thrown upon failed logger or sink construction (not during logging)
|
|
||||||
catch (const spdlog::spdlog_ex &ex)
|
|
||||||
{
|
|
||||||
std::cout << "Log init failed: " << ex.what() << std::endl;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user