mirror of
https://github.com/gabime/spdlog.git
synced 2024-11-16 00:45:48 +08:00
Added a global option in tweakme.h that disabled global registration of
loggers. fixes #712
This commit is contained in:
parent
1aace95c8d
commit
f95b189fe3
@ -52,7 +52,10 @@ struct async_factory_impl
|
|||||||
|
|
||||||
auto sink = std::make_shared<Sink>(std::forward<SinkArgs>(args)...);
|
auto sink = std::make_shared<Sink>(std::forward<SinkArgs>(args)...);
|
||||||
auto new_logger = std::make_shared<async_logger>(std::move(logger_name), std::move(sink), std::move(tp), OverflowPolicy);
|
auto new_logger = std::make_shared<async_logger>(std::move(logger_name), std::move(sink), std::move(tp), OverflowPolicy);
|
||||||
registry_inst.register_and_init(new_logger);
|
registry_inst.init_with_global_defaults(new_logger);
|
||||||
|
#ifndef SPDLOG_DISABLE_GLOBAL_REGISTRATION
|
||||||
|
registry_inst.register_logger(new_logger);
|
||||||
|
#endif
|
||||||
return new_logger;
|
return new_logger;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -47,13 +47,8 @@ public:
|
|||||||
loggers_[logger_name] = std::move(new_logger);
|
loggers_[logger_name] = std::move(new_logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
void register_and_init(std::shared_ptr<logger> new_logger)
|
void init_with_global_defaults(std::shared_ptr<logger> new_logger)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(logger_map_mutex_);
|
|
||||||
auto logger_name = new_logger->name();
|
|
||||||
throw_if_exists_(logger_name);
|
|
||||||
|
|
||||||
// set the global formatter pattern
|
|
||||||
new_logger->set_formatter(formatter_->clone());
|
new_logger->set_formatter(formatter_->clone());
|
||||||
|
|
||||||
if (err_handler_)
|
if (err_handler_)
|
||||||
@ -63,9 +58,6 @@ public:
|
|||||||
|
|
||||||
new_logger->set_level(level_);
|
new_logger->set_level(level_);
|
||||||
new_logger->flush_on(flush_level_);
|
new_logger->flush_on(flush_level_);
|
||||||
|
|
||||||
// add to registry
|
|
||||||
loggers_[logger_name] = std::move(new_logger);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<logger> get(const std::string &logger_name)
|
std::shared_ptr<logger> get(const std::string &logger_name)
|
||||||
|
@ -29,7 +29,10 @@ struct synchronous_factory
|
|||||||
{
|
{
|
||||||
auto sink = std::make_shared<Sink>(std::forward<SinkArgs>(args)...);
|
auto sink = std::make_shared<Sink>(std::forward<SinkArgs>(args)...);
|
||||||
auto new_logger = std::make_shared<logger>(std::move(logger_name), std::move(sink));
|
auto new_logger = std::make_shared<logger>(std::move(logger_name), std::move(sink));
|
||||||
details::registry::instance().register_and_init(new_logger);
|
details::registry::instance().init_with_global_defaults(new_logger);
|
||||||
|
#ifndef SPDLOG_DISABLE_GLOBAL_REGISTRATION
|
||||||
|
details::registry::instance().register_logger(new_logger);
|
||||||
|
#endif
|
||||||
return new_logger;
|
return new_logger;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -128,3 +128,11 @@
|
|||||||
//
|
//
|
||||||
// #define SPDLOG_DISABLE_DEFAULT_LOGGER
|
// #define SPDLOG_DISABLE_DEFAULT_LOGGER
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Uncomment to disable global logger registration
|
||||||
|
// This is useful if you don't need loggers to be globally accessible and part of the global registry.
|
||||||
|
// This option will allow you to use the same name for different loggers.
|
||||||
|
//
|
||||||
|
// #define SPDLOG_DISABLE_GLOBAL_REGISTRATION
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
Loading…
Reference in New Issue
Block a user