Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Unified Diff: net/log/net_log.cc

Issue 1059843002: Refactor NetLog::LogLevel --> NetLogCaptureMode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase again to fix a merge conflict Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/log/net_log.h ('k') | net/log/net_log_capture_mode.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/log/net_log.cc
diff --git a/net/log/net_log.cc b/net/log/net_log.cc
index 7f1d6e91218d4d99671a0a5cd691e47c0ac7ae27..e112c2cb3953ceec6f30a33f91a7e0cc23c7569d 100644
--- a/net/log/net_log.cc
+++ b/net/log/net_log.cc
@@ -17,22 +17,23 @@ namespace net {
namespace {
-// Returns parameters for logging data transferred events. Includes number of
-// bytes transferred and, if the log level indicates bytes should be logged and
-// |byte_count| > 0, the bytes themselves. The bytes are hex-encoded, since
-// base::StringValue only supports UTF-8.
+// Returns parameters for logging data transferred events. At a minum includes
+// the number of bytes transferred. If the capture mode allows logging byte
+// contents and |byte_count| > 0, then will include the actual bytes. The
+// bytes are hex-encoded, since base::StringValue only supports UTF-8.
base::Value* BytesTransferredCallback(int byte_count,
const char* bytes,
- NetLog::LogLevel log_level) {
+ NetLogCaptureMode capture_mode) {
base::DictionaryValue* dict = new base::DictionaryValue();
dict->SetInteger("byte_count", byte_count);
- if (NetLog::IsLoggingBytes(log_level) && byte_count > 0)
+ if (capture_mode.include_socket_bytes() && byte_count > 0)
dict->SetString("hex_encoded_bytes", base::HexEncode(bytes, byte_count));
return dict;
}
-base::Value* SourceEventParametersCallback(const NetLog::Source source,
- NetLog::LogLevel /* log_level */) {
+base::Value* SourceEventParametersCallback(
+ const NetLog::Source source,
+ NetLogCaptureMode /* capture_mode */) {
if (!source.IsValid())
return NULL;
base::DictionaryValue* event_params = new base::DictionaryValue();
@@ -42,7 +43,7 @@ base::Value* SourceEventParametersCallback(const NetLog::Source source,
base::Value* NetLogIntegerCallback(const char* name,
int value,
- NetLog::LogLevel /* log_level */) {
+ NetLogCaptureMode /* capture_mode */) {
base::DictionaryValue* event_params = new base::DictionaryValue();
event_params->SetInteger(name, value);
return event_params;
@@ -50,7 +51,7 @@ base::Value* NetLogIntegerCallback(const char* name,
base::Value* NetLogInt64Callback(const char* name,
int64 value,
- NetLog::LogLevel /* log_level */) {
+ NetLogCaptureMode /* capture_mode */) {
base::DictionaryValue* event_params = new base::DictionaryValue();
event_params->SetString(name, base::Int64ToString(value));
return event_params;
@@ -58,7 +59,7 @@ base::Value* NetLogInt64Callback(const char* name,
base::Value* NetLogStringCallback(const char* name,
const std::string* value,
- NetLog::LogLevel /* log_level */) {
+ NetLogCaptureMode /* capture_mode */) {
base::DictionaryValue* event_params = new base::DictionaryValue();
event_params->SetString(name, *value);
return event_params;
@@ -66,7 +67,7 @@ base::Value* NetLogStringCallback(const char* name,
base::Value* NetLogString16Callback(const char* name,
const base::string16* value,
- NetLog::LogLevel /* log_level */) {
+ NetLogCaptureMode /* capture_mode */) {
base::DictionaryValue* event_params = new base::DictionaryValue();
event_params->SetString(name, *value);
return event_params;
@@ -137,7 +138,7 @@ base::Value* NetLog::Entry::ToValue() const {
// Set the event-specific parameters.
if (data_->parameters_callback) {
- base::Value* value = data_->parameters_callback->Run(log_level_);
+ base::Value* value = data_->parameters_callback->Run(capture_mode_);
if (value)
entry_dict->Set("params", value);
}
@@ -147,7 +148,7 @@ base::Value* NetLog::Entry::ToValue() const {
base::Value* NetLog::Entry::ParametersToValue() const {
if (data_->parameters_callback)
- return data_->parameters_callback->Run(log_level_);
+ return data_->parameters_callback->Run(capture_mode_);
return NULL;
}
@@ -166,15 +167,14 @@ NetLog::EntryData::EntryData(EventType type,
NetLog::EntryData::~EntryData() {
}
-NetLog::Entry::Entry(const EntryData* data, LogLevel log_level)
- : data_(data), log_level_(log_level) {
+NetLog::Entry::Entry(const EntryData* data, NetLogCaptureMode capture_mode)
+ : data_(data), capture_mode_(capture_mode) {
}
NetLog::Entry::~Entry() {
}
-NetLog::ThreadSafeObserver::ThreadSafeObserver()
- : log_level_(LOG_NONE), net_log_(NULL) {
+NetLog::ThreadSafeObserver::ThreadSafeObserver() : net_log_(NULL) {
}
NetLog::ThreadSafeObserver::~ThreadSafeObserver() {
@@ -184,9 +184,9 @@ NetLog::ThreadSafeObserver::~ThreadSafeObserver() {
DCHECK(!net_log_);
}
-NetLog::LogLevel NetLog::ThreadSafeObserver::log_level() const {
+NetLogCaptureMode NetLog::ThreadSafeObserver::capture_mode() const {
DCHECK(net_log_);
- return log_level_;
+ return capture_mode_;
}
NetLog* NetLog::ThreadSafeObserver::net_log() const {
@@ -194,10 +194,13 @@ NetLog* NetLog::ThreadSafeObserver::net_log() const {
}
void NetLog::ThreadSafeObserver::OnAddEntryData(const EntryData& entry_data) {
- OnAddEntry(Entry(&entry_data, log_level()));
+ OnAddEntry(Entry(&entry_data, capture_mode()));
}
-NetLog::NetLog() : last_id_(0), effective_log_level_(LOG_NONE) {
+NetLog::NetLog()
+ : last_id_(0),
+ effective_capture_mode_int32_(
+ NetLogCaptureMode::None().ToInternalValue()) {
}
NetLog::~NetLog() {
@@ -219,35 +222,36 @@ uint32 NetLog::NextID() {
return base::subtle::NoBarrier_AtomicIncrement(&last_id_, 1);
}
-NetLog::LogLevel NetLog::GetLogLevel() const {
- base::subtle::Atomic32 log_level =
- base::subtle::NoBarrier_Load(&effective_log_level_);
- return static_cast<net::NetLog::LogLevel>(log_level);
+NetLogCaptureMode NetLog::GetCaptureMode() const {
+ base::subtle::Atomic32 capture_mode =
+ base::subtle::NoBarrier_Load(&effective_capture_mode_int32_);
+ return NetLogCaptureMode::FromInternalValue(capture_mode);
}
void NetLog::DeprecatedAddObserver(net::NetLog::ThreadSafeObserver* observer,
- LogLevel log_level) {
- DCHECK_NE(LOG_NONE, log_level);
+ NetLogCaptureMode capture_mode) {
+ DCHECK(capture_mode.enabled());
+
base::AutoLock lock(lock_);
DCHECK(!observer->net_log_);
- DCHECK_EQ(LOG_NONE, observer->log_level_);
+ DCHECK(!observer->capture_mode_.enabled());
observers_.AddObserver(observer);
observer->net_log_ = this;
- observer->log_level_ = log_level;
- UpdateLogLevel();
+ observer->capture_mode_ = capture_mode;
+ UpdateCaptureMode();
}
-void NetLog::SetObserverLogLevel(net::NetLog::ThreadSafeObserver* observer,
- LogLevel log_level) {
- DCHECK_NE(LOG_NONE, log_level);
+void NetLog::SetObserverCaptureMode(net::NetLog::ThreadSafeObserver* observer,
+ NetLogCaptureMode capture_mode) {
+ DCHECK(capture_mode.enabled());
base::AutoLock lock(lock_);
DCHECK(observers_.HasObserver(observer));
DCHECK_EQ(this, observer->net_log_);
- DCHECK_NE(LOG_NONE, observer->log_level_);
- observer->log_level_ = log_level;
- UpdateLogLevel();
+ DCHECK(observer->capture_mode_.enabled());
+ observer->capture_mode_ = capture_mode;
+ UpdateCaptureMode();
}
void NetLog::DeprecatedRemoveObserver(
@@ -256,26 +260,26 @@ void NetLog::DeprecatedRemoveObserver(
DCHECK(observers_.HasObserver(observer));
DCHECK_EQ(this, observer->net_log_);
- DCHECK_NE(LOG_NONE, observer->log_level_);
+ DCHECK(observer->capture_mode_.enabled());
observers_.RemoveObserver(observer);
observer->net_log_ = NULL;
- observer->log_level_ = LOG_NONE;
- UpdateLogLevel();
+ observer->capture_mode_ = NetLogCaptureMode();
+ UpdateCaptureMode();
}
-void NetLog::UpdateLogLevel() {
+void NetLog::UpdateCaptureMode() {
lock_.AssertAcquired();
- // Look through all the observers and find the finest granularity
- // log level (higher values of the enum imply *lower* log levels).
- LogLevel new_effective_log_level = LOG_NONE;
+ // Accumulate the capture mode of all the observers to find the maximum level.
+ NetLogCaptureMode new_capture_mode = NetLogCaptureMode::None();
ObserverListBase<ThreadSafeObserver>::Iterator it(&observers_);
ThreadSafeObserver* observer;
while ((observer = it.GetNext()) != NULL) {
- new_effective_log_level =
- std::min(new_effective_log_level, observer->log_level());
+ new_capture_mode =
+ NetLogCaptureMode::Max(new_capture_mode, observer->capture_mode());
}
- base::subtle::NoBarrier_Store(&effective_log_level_, new_effective_log_level);
+ base::subtle::NoBarrier_Store(&effective_capture_mode_int32_,
+ new_capture_mode.ToInternalValue());
}
// static
@@ -345,16 +349,6 @@ const char* NetLog::EventPhaseToString(EventPhase phase) {
}
// static
-bool NetLog::IsLoggingBytes(LogLevel log_level) {
- return log_level == NetLog::LOG_ALL;
-}
-
-// static
-bool NetLog::IsLogging(LogLevel log_level) {
- return log_level < NetLog::LOG_NONE;
-}
-
-// static
NetLog::ParametersCallback NetLog::IntegerCallback(const char* name,
int value) {
return base::Bind(&NetLogIntegerCallback, name, value);
@@ -384,7 +378,7 @@ void NetLog::AddEntry(EventType type,
const Source& source,
EventPhase phase,
const NetLog::ParametersCallback* parameters_callback) {
- if (GetLogLevel() == LOG_NONE)
+ if (!GetCaptureMode().enabled())
return;
EntryData entry_data(type, source, phase, base::TimeTicks::Now(),
parameters_callback);
@@ -474,20 +468,12 @@ void BoundNetLog::AddByteTransferEvent(NetLog::EventType event_type,
AddEvent(event_type, base::Bind(BytesTransferredCallback, byte_count, bytes));
}
-NetLog::LogLevel BoundNetLog::GetLogLevel() const {
+NetLogCaptureMode BoundNetLog::GetCaptureMode() const {
CrashIfInvalid();
if (net_log_)
- return net_log_->GetLogLevel();
- return NetLog::LOG_NONE;
-}
-
-bool BoundNetLog::IsLoggingBytes() const {
- return NetLog::IsLoggingBytes(GetLogLevel());
-}
-
-bool BoundNetLog::IsLogging() const {
- return NetLog::IsLogging(GetLogLevel());
+ return net_log_->GetCaptureMode();
+ return NetLogCaptureMode();
}
// static
« no previous file with comments | « net/log/net_log.h ('k') | net/log/net_log_capture_mode.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698