Index: net/log/net_log.h |
diff --git a/net/log/net_log.h b/net/log/net_log.h |
index dd22d5ee2c3e5cdaa8beb39429bdd326d20ee36c..7d32e1c921afc98447d94b16071e6433a015b818 100644 |
--- a/net/log/net_log.h |
+++ b/net/log/net_log.h |
@@ -18,6 +18,7 @@ |
#include "base/synchronization/lock.h" |
#include "base/time/time.h" |
#include "net/base/net_export.h" |
+#include "net/log/net_log_capture_mode.h" |
namespace base { |
class DictionaryValue; |
@@ -66,33 +67,11 @@ class NET_EXPORT NetLog { |
SOURCE_COUNT |
}; |
- // Specifies the granularity of events that should be emitted to the log. |
- // |
- // Since the LogLevel may be read and set on any thread without locking, it |
- // may be possible for an Observer to receive an event or parameters that |
- // normally wouldn't be logged at the currently active log level. |
- enum LogLevel { |
- // Log everything possible, even if it is slow and memory expensive. |
- // Includes logging of transferred bytes. |
- LOG_ALL, |
- |
- // Log all events, but do not include the actual transferred bytes as |
- // parameters for bytes sent/received events. |
- LOG_ALL_BUT_BYTES, |
- |
- // Log all events, but do not include the actual transferred bytes and |
- // remove cookies and HTTP credentials. |
- LOG_STRIP_PRIVATE_DATA, |
- |
- // Don't log any events. |
- LOG_NONE, |
- }; |
- |
// A callback function that return a Value representation of the parameters |
// associated with an event. If called, it will be called synchonously, |
// so it need not have owning references. May be called more than once, or |
// not at all. May return NULL. |
- typedef base::Callback<base::Value*(LogLevel)> ParametersCallback; |
+ typedef base::Callback<base::Value*(NetLogCaptureMode)> ParametersCallback; |
// Identifies the entity that generated this log. The |id| field should |
// uniquely identify the source, and is used by log observers to infer |
@@ -137,12 +116,12 @@ class NET_EXPORT NetLog { |
const ParametersCallback* const parameters_callback; |
}; |
- // An Entry pre-binds EntryData to a LogLevel, so observers will observe the |
- // output of ToValue() and ParametersToValue() at their log level rather than |
- // current maximum. |
+ // An Entry pre-binds EntryData to a capture mode, so observers will observe |
+ // the output of ToValue() and ParametersToValue() at their log capture mode |
+ // rather than the current maximum. |
class NET_EXPORT Entry { |
public: |
- Entry(const EntryData* data, LogLevel log_level); |
+ Entry(const EntryData* data, NetLogCaptureMode capture_mode); |
~Entry(); |
EventType type() const { return data_->type; } |
@@ -161,8 +140,8 @@ class NET_EXPORT NetLog { |
private: |
const EntryData* const data_; |
- // Log level when the event occurred. |
- const LogLevel log_level_; |
+ // Log capture mode when the event occurred. |
+ const NetLogCaptureMode capture_mode_; |
// It is not safe to copy this class, since |parameters_callback_| may |
// include pointers that become stale immediately after the event is added, |
@@ -185,9 +164,9 @@ class NET_EXPORT NetLog { |
// NetLog is destroyed. |
ThreadSafeObserver(); |
- // Returns the minimum log level for events this observer wants to |
+ // Returns the capture mode for events this observer wants to |
// receive. Must not be called when not watching a NetLog. |
- LogLevel log_level() const; |
+ NetLogCaptureMode capture_mode() const; |
// Returns the NetLog we are currently watching, if any. Returns NULL |
// otherwise. |
@@ -210,7 +189,7 @@ class NET_EXPORT NetLog { |
void OnAddEntryData(const EntryData& entry_data); |
// Both of these values are only modified by the NetLog. |
- LogLevel log_level_; |
+ NetLogCaptureMode capture_mode_; |
NetLog* net_log_; |
DISALLOW_COPY_AND_ASSIGN(ThreadSafeObserver); |
@@ -228,11 +207,11 @@ class NET_EXPORT NetLog { |
// will be unique and greater than 0. |
uint32 NextID(); |
- // Returns the logging level for this NetLog. This is used to avoid computing |
+ // Returns the capture mode for this NetLog. This is used to avoid computing |
// and saving expensive log entries. |
- LogLevel GetLogLevel() const; |
+ NetLogCaptureMode GetCaptureMode() const; |
- // Adds an observer and sets its log level. The observer must not be |
+ // Adds an observer and sets its log capture mode. The observer must not be |
// watching any NetLog, including this one, when this is called. |
// |
// NetLog implementations must call NetLog::OnAddObserver to update the |
@@ -241,12 +220,14 @@ class NET_EXPORT NetLog { |
// DEPRECATED: The ability to watch the netlog stream is being phased out |
// (crbug.com/472693) as it can be misused in production code. Please consult |
// with a net/log OWNER before introducing a new dependency on this. |
- void DeprecatedAddObserver(ThreadSafeObserver* observer, LogLevel log_level); |
+ void DeprecatedAddObserver(ThreadSafeObserver* observer, |
+ NetLogCaptureMode capture_mode); |
- // Sets the log level of |observer| to |log_level|. |observer| must be |
- // watching |this|. NetLog implementations must call |
- // NetLog::OnSetObserverLogLevel to update the observer's internal state. |
- void SetObserverLogLevel(ThreadSafeObserver* observer, LogLevel log_level); |
+ // Sets the log capture mode of |observer| to |capture_mode|. |observer| must |
+ // be watching |this|. NetLog implementations must call |
+ // NetLog::OnSetObserverCaptureMode to update the observer's internal state. |
+ void SetObserverCaptureMode(ThreadSafeObserver* observer, |
+ NetLogCaptureMode capture_mode); |
// Removes an observer. NetLog implementations must call |
// NetLog::OnAddObserver to update the observer's internal state. |
@@ -280,14 +261,6 @@ class NET_EXPORT NetLog { |
// Returns a C-String symbolic name for |event_phase|. |
static const char* EventPhaseToString(EventPhase event_phase); |
- // Returns true if |log_level| indicates the actual bytes transferred should |
- // be logged. This is only the case when |log_level| is LOG_ALL. |
- static bool IsLoggingBytes(LogLevel log_level); |
- |
- // Returns true if |log_level| indicates that events should be logged. This is |
- // the case when |log_level| is anything other than LOG_NONE. |
- static bool IsLogging(LogLevel log_level); |
- |
// Creates a ParametersCallback that encapsulates a single integer. |
// Warning: |name| must remain valid for the life of the callback. |
// TODO(mmenke): Rename this to be consistent with Int64Callback. |
@@ -318,9 +291,9 @@ class NET_EXPORT NetLog { |
EventPhase phase, |
const NetLog::ParametersCallback* parameters_callback); |
- // Called whenever an observer is added or removed, or has its log level |
- // changed. Must have acquired |lock_| prior to calling. |
- void UpdateLogLevel(); |
+ // Called whenever an observer is added or removed, or has its log |
+ // capture mode changed. Must have acquired |lock_| prior to calling. |
+ void UpdateCaptureMode(); |
// |lock_| protects access to |observers_|. |
base::Lock lock_; |
@@ -328,8 +301,10 @@ class NET_EXPORT NetLog { |
// Last assigned source ID. Incremented to get the next one. |
base::subtle::Atomic32 last_id_; |
- // The current log level. |
- base::subtle::Atomic32 effective_log_level_; |
+ // The current capture mode. Note that the capture mode is stored as an |
+ // integer rather than a NetLogCaptureMode so that it can be easily |
+ // read/written without a lock using Atomic32. |
+ base::subtle::Atomic32 effective_capture_mode_int32_; |
// |lock_| must be acquired whenever reading or writing to this. |
ObserverList<ThreadSafeObserver, true> observers_; |
@@ -384,13 +359,7 @@ class NET_EXPORT BoundNetLog { |
int byte_count, |
const char* bytes) const; |
- NetLog::LogLevel GetLogLevel() const; |
- |
- // Shortcut for NetLog::IsLoggingBytes(this->GetLogLevel()). |
- bool IsLoggingBytes() const; |
- |
- // Shortcut for NetLog::IsLogging(this->GetLogLevel()). |
- bool IsLogging() const; |
+ NetLogCaptureMode GetCaptureMode() const; |
// Helper to create a BoundNetLog given a NetLog and a SourceType. Takes care |
// of creating a unique source ID, and handles the case of NULL net_log. |