Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions source/common/common/logger.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Logger::Logger(const std::string& name) {
logger_->flush_on(spdlog::level::critical);
}

SinkDelegate::SinkDelegate(DelegatingLogSinkPtr log_sink)
SinkDelegate::SinkDelegate(DelegatingLogSinkSharedPtr log_sink)
: previous_delegate_(log_sink->delegate()), log_sink_(log_sink) {
log_sink->setDelegate(this);
}
Expand All @@ -39,7 +39,8 @@ SinkDelegate::~SinkDelegate() {
log_sink_->setDelegate(previous_delegate_);
}

StderrSinkDelegate::StderrSinkDelegate(DelegatingLogSinkPtr log_sink) : SinkDelegate(log_sink) {}
StderrSinkDelegate::StderrSinkDelegate(DelegatingLogSinkSharedPtr log_sink)
: SinkDelegate(log_sink) {}

void StderrSinkDelegate::log(absl::string_view msg) {
Thread::OptionalLockGuard guard(lock_);
Expand Down Expand Up @@ -87,8 +88,8 @@ std::string DelegatingLogSink::escapeLogLine(absl::string_view msg_view) {
return absl::StrCat(absl::CEscape(msg_leading), msg_trailing_whitespace);
}

DelegatingLogSinkPtr DelegatingLogSink::init() {
DelegatingLogSinkPtr delegating_sink(new DelegatingLogSink);
DelegatingLogSinkSharedPtr DelegatingLogSink::init() {
DelegatingLogSinkSharedPtr delegating_sink(new DelegatingLogSink);
delegating_sink->stderr_sink_ = std::make_unique<StderrSinkDelegate>(delegating_sink);
return delegating_sink;
}
Expand Down
16 changes: 8 additions & 8 deletions source/common/common/logger.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ class Logger {
};

class DelegatingLogSink;
using DelegatingLogSinkPtr = std::shared_ptr<DelegatingLogSink>;
using DelegatingLogSinkSharedPtr = std::shared_ptr<DelegatingLogSink>;

/**
* Captures a logging sink that can be delegated to for a bounded amount of time.
Expand All @@ -118,7 +118,7 @@ using DelegatingLogSinkPtr = std::shared_ptr<DelegatingLogSink>;
*/
class SinkDelegate : NonCopyable {
public:
explicit SinkDelegate(DelegatingLogSinkPtr log_sink);
explicit SinkDelegate(DelegatingLogSinkSharedPtr log_sink);
virtual ~SinkDelegate();

virtual void log(absl::string_view msg) PURE;
Expand All @@ -129,15 +129,15 @@ class SinkDelegate : NonCopyable {

private:
SinkDelegate* previous_delegate_;
DelegatingLogSinkPtr log_sink_;
DelegatingLogSinkSharedPtr log_sink_;
};

/**
* SinkDelegate that writes log messages to stderr.
*/
class StderrSinkDelegate : public SinkDelegate {
public:
explicit StderrSinkDelegate(DelegatingLogSinkPtr log_sink);
explicit StderrSinkDelegate(DelegatingLogSinkSharedPtr log_sink);

// SinkDelegate
void log(absl::string_view msg) override;
Expand Down Expand Up @@ -182,10 +182,10 @@ class DelegatingLogSink : public spdlog::sinks::sink {
* A shared_ptr is required for sinks used
* in spdlog::logger; it would not otherwise be required in Envoy. This method
* must own the construction process because StderrSinkDelegate needs access to
* the DelegatingLogSinkPtr, not just the DelegatingLogSink*, and that is only
* the DelegatingLogSinkSharedPtr, not just the DelegatingLogSink*, and that is only
* available after construction.
*/
static DelegatingLogSinkPtr init();
static DelegatingLogSinkSharedPtr init();

/**
* Give a log line with trailing whitespace, this will escape all c-style
Expand Down Expand Up @@ -254,8 +254,8 @@ class Registry {
/**
* @return the singleton sink to use for all loggers.
*/
static DelegatingLogSinkPtr getSink() {
static DelegatingLogSinkPtr sink = DelegatingLogSink::init();
static DelegatingLogSinkSharedPtr getSink() {
static DelegatingLogSinkSharedPtr sink = DelegatingLogSink::init();
return sink;
}

Expand Down
2 changes: 1 addition & 1 deletion source/common/common/logger_delegates.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace Logger {

FileSinkDelegate::FileSinkDelegate(const std::string& log_path,
AccessLog::AccessLogManager& log_manager,
DelegatingLogSinkPtr log_sink)
DelegatingLogSinkSharedPtr log_sink)
: SinkDelegate(log_sink), log_file_(log_manager.createAccessLog(log_path)) {}

void FileSinkDelegate::log(absl::string_view msg) {
Expand Down
4 changes: 2 additions & 2 deletions source/common/common/logger_delegates.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ namespace Envoy {
namespace Logger {

class DelegatingLogSink;
using DelegatingLogSinkPtr = std::shared_ptr<DelegatingLogSink>;
using DelegatingLogSinkSharedPtr = std::shared_ptr<DelegatingLogSink>;

/**
* SinkDelegate that writes log messages to a file.
*/
class FileSinkDelegate : public SinkDelegate {
public:
FileSinkDelegate(const std::string& log_path, AccessLog::AccessLogManager& log_manager,
DelegatingLogSinkPtr log_sink);
DelegatingLogSinkSharedPtr log_sink);

// SinkDelegate
void log(absl::string_view msg) override;
Expand Down
2 changes: 1 addition & 1 deletion test/test_common/logging.cc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ LogLevelSetter::~LogLevelSetter() {
ASSERT(prev_level == previous_levels_.end());
}

LogRecordingSink::LogRecordingSink(Logger::DelegatingLogSinkPtr log_sink)
LogRecordingSink::LogRecordingSink(Logger::DelegatingLogSinkSharedPtr log_sink)
: Logger::SinkDelegate(log_sink) {}
LogRecordingSink::~LogRecordingSink() = default;

Expand Down
4 changes: 2 additions & 2 deletions test/test_common/logging.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class LogLevelSetter {
*/
class LogRecordingSink : public Logger::SinkDelegate {
public:
explicit LogRecordingSink(Logger::DelegatingLogSinkPtr log_sink);
explicit LogRecordingSink(Logger::DelegatingLogSinkSharedPtr log_sink);
~LogRecordingSink() override;

// Logger::SinkDelegate
Expand Down Expand Up @@ -91,7 +91,7 @@ using ExpectedLogMessages = std::vector<StringPair>;
do { \
ASSERT_FALSE(expected_messages.empty()) << "Expected messages cannot be empty."; \
Envoy::LogLevelSetter save_levels(spdlog::level::trace); \
Envoy::Logger::DelegatingLogSinkPtr sink_ptr = Envoy::Logger::Registry::getSink(); \
Envoy::Logger::DelegatingLogSinkSharedPtr sink_ptr = Envoy::Logger::Registry::getSink(); \
sink_ptr->set_should_escape(escaped); \
Envoy::LogRecordingSink log_recorder(sink_ptr); \
stmt; \
Expand Down