Index: chrome/browser/net/chrome_net_log.cc |
diff --git a/chrome/browser/net/chrome_net_log.cc b/chrome/browser/net/chrome_net_log.cc |
index b1594dccc20701adb88c6c6879a795e6cc0c857f..780f582cd8dc1de372b957943753717e91bff161 100644 |
--- a/chrome/browser/net/chrome_net_log.cc |
+++ b/chrome/browser/net/chrome_net_log.cc |
@@ -15,12 +15,11 @@ |
#include "chrome/browser/net/net_log_temp_file.h" |
#include "chrome/common/chrome_switches.h" |
-ChromeNetLog::ChromeNetLog() |
- : last_id_(0), |
- base_log_level_(LOG_NONE), |
- effective_log_level_(LOG_NONE), |
- net_log_temp_file_(new NetLogTempFile(this)) { |
+namespace { |
+ |
+net::NetLog::LogLevel GetBaseLogLevelFromCommandLine() { |
const CommandLine* command_line = CommandLine::ForCurrentProcess(); |
+ |
// Adjust base log level based on command line switch, if present. |
// This is done before adding any observers so the call to UpdateLogLevel when |
// an observers is added will set |effective_log_level_| correctly. |
@@ -29,12 +28,22 @@ ChromeNetLog::ChromeNetLog() |
command_line->GetSwitchValueASCII(switches::kNetLogLevel); |
int command_line_log_level; |
if (base::StringToInt(log_level_string, &command_line_log_level) && |
- command_line_log_level >= LOG_ALL && |
- command_line_log_level <= LOG_NONE) { |
- base_log_level_ = static_cast<LogLevel>(command_line_log_level); |
+ command_line_log_level >= net::NetLog::LOG_ALL && |
+ command_line_log_level <= net::NetLog::LOG_NONE) { |
+ return static_cast<net::NetLog::LogLevel>(command_line_log_level); |
} |
} |
+ return net::NetLog::LOG_NONE; |
+} |
+ |
+} // namespace |
+ |
+ChromeNetLog::ChromeNetLog() |
+ : NetLog(GetBaseLogLevelFromCommandLine()), |
mmenke
2013/06/03 14:27:09
This constructor no longer exists, should use SetL
kouhei (in TOK)
2013/06/04 15:41:44
Done.
|
+ net_log_temp_file_(new NetLogTempFile(this)) { |
+ const CommandLine* command_line = CommandLine::ForCurrentProcess(); |
+ |
if (command_line->HasSwitch(switches::kLogNetLog)) { |
base::FilePath log_path = |
command_line->GetSwitchValuePath(switches::kLogNetLog); |
@@ -68,65 +77,3 @@ ChromeNetLog::~ChromeNetLog() { |
RemoveThreadSafeObserver(net_log_logger_.get()); |
} |
-void ChromeNetLog::OnAddEntry(const net::NetLog::Entry& entry) { |
- base::AutoLock lock(lock_); |
- |
- // Notify all of the log observers. |
- FOR_EACH_OBSERVER(ThreadSafeObserver, observers_, OnAddEntry(entry)); |
-} |
- |
-uint32 ChromeNetLog::NextID() { |
- return base::subtle::NoBarrier_AtomicIncrement(&last_id_, 1); |
-} |
- |
-net::NetLog::LogLevel ChromeNetLog::GetLogLevel() const { |
- base::subtle::Atomic32 log_level = |
- base::subtle::NoBarrier_Load(&effective_log_level_); |
- return static_cast<net::NetLog::LogLevel>(log_level); |
-} |
- |
-void ChromeNetLog::AddThreadSafeObserver( |
- net::NetLog::ThreadSafeObserver* observer, |
- LogLevel log_level) { |
- base::AutoLock lock(lock_); |
- |
- observers_.AddObserver(observer); |
- OnAddObserver(observer, log_level); |
- UpdateLogLevel(); |
-} |
- |
-void ChromeNetLog::SetObserverLogLevel( |
- net::NetLog::ThreadSafeObserver* observer, |
- LogLevel log_level) { |
- base::AutoLock lock(lock_); |
- |
- DCHECK(observers_.HasObserver(observer)); |
- OnSetObserverLogLevel(observer, log_level); |
- UpdateLogLevel(); |
-} |
- |
-void ChromeNetLog::RemoveThreadSafeObserver( |
- net::NetLog::ThreadSafeObserver* observer) { |
- base::AutoLock lock(lock_); |
- |
- DCHECK(observers_.HasObserver(observer)); |
- observers_.RemoveObserver(observer); |
- OnRemoveObserver(observer); |
- UpdateLogLevel(); |
-} |
- |
-void ChromeNetLog::UpdateLogLevel() { |
- 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 = base_log_level_; |
- 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()); |
- } |
- base::subtle::NoBarrier_Store(&effective_log_level_, |
- new_effective_log_level); |
-} |