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

Unified Diff: net/log/net_log.h

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/http/http_stream_parser.cc ('k') | net/log/net_log.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « net/http/http_stream_parser.cc ('k') | net/log/net_log.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698