pull/867/merge
Robert Lewicki 7 years ago committed by GitHub
commit 8e7b6dbc97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -21,6 +21,7 @@ void user_defined_example();
void err_handler_example();
void syslog_example();
void clone_example();
void default_logger_example();
#define SPDLOG_TRACE_ON
#define SPDLOG_DEBUG_ON
@ -53,6 +54,10 @@ int main(int, char *[])
rotating_example();
daily_example();
clone_example();
default_logger_example();
// async logging using a backing thread pool
async_example();
binary_example();
multi_sink_example();
@ -119,6 +124,13 @@ void clone_example()
network_logger->info("Logging network stuff..");
}
void default_logger_example()
{
auto logger = spdlog::get("console");
spdlog::set_default(logger);
spdlog::get_default()->warn("Default logger message...");
}
#include "spdlog/async.h"
void async_example()
{

@ -99,6 +99,16 @@ public:
tp_ = std::move(tp);
}
void set_default(std::shared_ptr<logger> logger)
{
default_logger_ = std::move(logger);
}
std::shared_ptr<logger> get_default()
{
return default_logger_;
}
std::shared_ptr<thread_pool> get_tp()
{
std::lock_guard<std::recursive_mutex> lock(tp_mutex_);
@ -244,6 +254,7 @@ private:
std::mutex logger_map_mutex_, flusher_mutex_;
std::recursive_mutex tp_mutex_;
std::unordered_map<std::string, std::shared_ptr<logger>> loggers_;
std::shared_ptr<logger> default_logger_;
std::unique_ptr<formatter> formatter_;
level::level_enum level_ = level::info;
level::level_enum flush_level_ = level::off;

@ -56,6 +56,23 @@ inline std::shared_ptr<logger> get(const std::string &name)
return details::registry::instance().get(name);
}
// Return default logger instance when no explicitly defined
// example: spdlog::get_default()->info("hello {}", "world");
inline std::shared_ptr<logger> get_default()
{
return details::registry::instance().get_default();
}
// Sets logger passed in parameter as default logger that will be returned
// when calling get_default() function
// example:
// auto logger = spdlog::create<daily_file_sink_st>("logger_name", "dailylog_filename", 11, 59);
// spdlog::set_default(logger);
inline void set_default(std::shared_ptr<logger> logger)
{
details::registry::instance().set_default(std::move(logger));
}
// Set global formatter. Each sink in each logger will get a clone of this object
inline void set_formatter(std::unique_ptr<spdlog::formatter> formatter)
{

Loading…
Cancel
Save