Coverage Report

Created: 2024-09-19 09:45

/proc/self/cwd/test/test_common/logging.cc
Line
Count
Source (jump to first uncovered line)
1
#include "test/test_common/logging.h"
2
3
#include "source/common/common/assert.h"
4
5
#include "absl/synchronization/mutex.h"
6
7
namespace Envoy {
8
9
0
LogLevelSetter::LogLevelSetter(spdlog::level::level_enum log_level) {
10
0
  if (Logger::Context::useFineGrainLogger()) {
11
0
    previous_fine_grain_levels_ = getFineGrainLogContext().getAllFineGrainLogLevelsForTest();
12
0
    getFineGrainLogContext().setAllFineGrainLoggers(log_level);
13
0
  } else {
14
0
    for (Logger::Logger& logger : Logger::Registry::loggers()) {
15
0
      previous_levels_.push_back(logger.level());
16
0
      logger.setLevel(log_level);
17
0
    }
18
0
  }
19
0
}
20
21
0
LogLevelSetter::~LogLevelSetter() {
22
0
  if (Logger::Context::useFineGrainLogger()) {
23
0
    for (const auto& it : previous_fine_grain_levels_) {
24
0
      getFineGrainLogContext().setFineGrainLogger(it.first, it.second);
25
0
    }
26
0
  } else {
27
0
    auto prev_level = previous_levels_.begin();
28
0
    for (Logger::Logger& logger : Logger::Registry::loggers()) {
29
0
      ASSERT(prev_level != previous_levels_.end());
30
0
      logger.setLevel(*prev_level);
31
0
      ++prev_level;
32
0
    }
33
0
    ASSERT(prev_level == previous_levels_.end());
34
0
  }
35
0
}
36
37
LogRecordingSink::LogRecordingSink(Logger::DelegatingLogSinkSharedPtr log_sink)
38
0
    : Logger::SinkDelegate(log_sink) {
39
0
  setDelegate();
40
0
}
41
42
0
LogRecordingSink::~LogRecordingSink() { restoreDelegate(); }
43
44
0
void LogRecordingSink::log(absl::string_view msg, const spdlog::details::log_msg& log_msg) {
45
0
  previousDelegate()->log(msg, log_msg);
46
47
0
  absl::MutexLock ml(&mtx_);
48
0
  messages_.push_back(std::string(msg));
49
0
}
50
51
0
void LogRecordingSink::flush() { previousDelegate()->flush(); }
52
53
} // namespace Envoy