8#include <userver/logging/log.hpp>
9#include <userver/utils/assert.hpp>
11USERVER_NAMESPACE_BEGIN
20 static void TearDownTestSuite() {
21 Base::TearDownTestSuite();
22 once_used_loggers_.clear();
30 BackUpDefaultLogger();
31 logging::impl::SetDefaultLoggerRef(*new_logger);
35 once_used_loggers_.emplace_back(std::move(new_logger));
40 BackUpDefaultLogger();
41 logging::SetDefaultLoggerLevel(new_level);
44 ~DefaultLoggerFixture() override { RestoreDefaultLogger(); }
47 void BackUpDefaultLogger() {
48 if (!logger_initial_) {
49 logger_initial_ = &logging::GetDefaultLogger();
50 level_initial_ = logging::GetLoggerLevel(*logger_initial_);
54 void RestoreDefaultLogger()
noexcept {
55 if (logger_initial_) {
56 logging::impl::SetDefaultLoggerRef(*logger_initial_);
57 logging::SetLoggerLevel(*logger_initial_, level_initial_);
61 logging::impl::LoggerBase* logger_initial_{
nullptr};
62 logging::Level level_initial_{};
64 static inline std::vector<logging::LoggerPtr> once_used_loggers_;