| // Copyright 2019 The Fuchsia Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include "src/developer/debug/shared/logging/logging.h" | |
| #include <stdio.h> | |
| namespace debug_ipc { | |
| LogStatement::LogStatement(FileLineFunction origin, LogCategory category) | |
| : origin_(std::move(origin)), category_(category) { | |
| should_log_ = false; | |
| if (!IsLogCategoryActive(category_)) | |
| return; | |
| start_time_ = SecondsSinceStart(); | |
| should_log_ = true; | |
| PushLogEntry(this); | |
| } | |
| std::string LogStatement::GetMsg() { | |
| return stream_.str(); | |
| } | |
| LogStatement::~LogStatement() { | |
| if (!IsLogCategoryActive(category_)) | |
| return; | |
| if (!should_log_) | |
| return; | |
| PopLogEntry(category_, origin_, stream_.str(), start_time_, SecondsSinceStart()); | |
| } | |
| } // namespace debug_ipc | |
| // namespace debug_ipc |